From d9b5cb238d7e1f7ec998ffd002e15cf9c1a48425 Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Wed, 25 Feb 2015 00:47:17 +1000 Subject: Abort of failure to add version file to empty local database Signed-off-by: Allan McRae --- lib/libalpm/be_local.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'lib/libalpm/be_local.c') diff --git a/lib/libalpm/be_local.c b/lib/libalpm/be_local.c index 6fd6cd5b..556157d8 100644 --- a/lib/libalpm/be_local.c +++ b/lib/libalpm/be_local.c @@ -384,6 +384,11 @@ static int local_db_add_version(alpm_db_t UNUSED *db, const char *dbpath) snprintf(dbverpath, PATH_MAX, "%sALPM_DB_VERSION", dbpath); dbverfile = fopen(dbverpath, "w"); + + if(dbverfile == NULL) { + return 1; + } + fprintf(dbverfile, "%zu\n", ALPM_LOCAL_DB_VERSION); fclose(dbverfile); @@ -397,7 +402,10 @@ static int local_db_create(alpm_db_t *db, const char *dbpath) dbpath, strerror(errno)); RET_ERR(db->handle, ALPM_ERR_DB_CREATE, -1); } - local_db_add_version(db, dbpath); + if(local_db_add_version(db, dbpath) != 0) { + return 1; + } + return 0; } @@ -459,7 +467,9 @@ static int local_db_validate(alpm_db_t *db) } } - local_db_add_version(db, dbpath); + if(local_db_add_version(db, dbpath) != 0) { + goto version_error; + } goto version_latest; } -- cgit v1.2.3-24-g4f1b