[pacman-dev] [PATCH] Abort of failure to add version file to empty local database

Allan McRae allan at archlinux.org
Tue Feb 24 14:49:17 UTC 2015


Signed-off-by: Allan McRae <allan at archlinux.org>
---
 lib/libalpm/be_local.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/lib/libalpm/be_local.c b/lib/libalpm/be_local.c
index 6fd6cd5..556157d 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;
 	}
 
-- 
2.3.0


More information about the pacman-dev mailing list