summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Griffin <aaronmgriffin@gmail.com>2007-05-18 08:19:00 +0200
committerAaron Griffin <aaronmgriffin@gmail.com>2007-05-18 08:19:00 +0200
commit9d9ac66bb26df7ace59d5c441679a6f2a17d116d (patch)
tree2b77061058dd3d2fadeb8d90db19bc97c56dd195
parent9abe99f2369748004e64db5c499aa9be81dd3405 (diff)
downloadpacman-9d9ac66bb26df7ace59d5c441679a6f2a17d116d.tar.gz
pacman-9d9ac66bb26df7ace59d5c441679a6f2a17d116d.tar.xz
Continue scanning when an invalid DB entry is found
Fix for FS#7133 - when DB scanning finds an invalid named entry, scanning is currently aborted. Instead we will simply skip it and find the next valid package. Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
-rw-r--r--lib/libalpm/be_files.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/libalpm/be_files.c b/lib/libalpm/be_files.c
index d720268f..ed2e9207 100644
--- a/lib/libalpm/be_files.c
+++ b/lib/libalpm/be_files.c
@@ -183,7 +183,9 @@ pmpkg_t *_alpm_db_scan(pmdb_t *db, const char *target)
}
if(_alpm_pkg_splitname(ent->d_name, pkg->name, pkg->version, 0) == -1) {
_alpm_log(PM_LOG_ERROR, _("invalid name for database entry '%s'"), ent->d_name);
- return(NULL);
+ alpm_pkg_free(pkg);
+ pkg = NULL;
+ continue;
}
/* explicitly read with only 'BASE' data, accessors will handle the rest */