From d589a7b5dbdfcf740d72aa4e9e8fcab9a3de0fbd Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Fri, 24 Jun 2011 01:33:12 -0500 Subject: Prevent segfault when parsing unexpected sync database file This doesn't fix the real (bigger) problem of failing to parse sync databases without directory entries, but it does prevent the parser from segfaulting when the first desc file encountered did not have a directory entry, among other conditions. Signed-off-by: Dan McGee --- lib/libalpm/be_sync.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c index f0b1736d..e5fc6a70 100644 --- a/lib/libalpm/be_sync.c +++ b/lib/libalpm/be_sync.c @@ -332,10 +332,8 @@ static int sync_db_populate(pmdb_t *db) /* we have desc, depends or deltas - parse it */ if(sync_db_read(db, archive, entry, pkg) != 0) { _alpm_log(db->handle, PM_LOG_ERROR, - _("could not parse package '%s' description file from db '%s'\n"), - pkg->name, db->treename); - _alpm_pkg_free(pkg); - pkg = NULL; + _("could not parse package description file '%s' from db '%s'\n"), + archive_entry_pathname(entry), db->treename); continue; } } -- cgit v1.2.3-70-g09d2