diff options
author | Aaron Griffin <aaronmgriffin@gmail.com> | 2007-05-18 08:19:00 +0200 |
---|---|---|
committer | Aaron Griffin <aaronmgriffin@gmail.com> | 2007-05-18 08:19:00 +0200 |
commit | 9d9ac66bb26df7ace59d5c441679a6f2a17d116d (patch) | |
tree | 2b77061058dd3d2fadeb8d90db19bc97c56dd195 /lib | |
parent | 9abe99f2369748004e64db5c499aa9be81dd3405 (diff) | |
download | pacman-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>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libalpm/be_files.c | 4 |
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 */ |