diff options
Diffstat (limited to 'lib/libalpm/be_local.c')
-rw-r--r-- | lib/libalpm/be_local.c | 14 |
1 files changed, 12 insertions, 2 deletions
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; } |