From: Michael Tremer Date: Tue, 25 May 2021 13:25:00 +0000 (+0000) Subject: archive: Load empty filelists X-Git-Tag: 0.9.28~1285^2~77 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7c42071cfcdbf1e4ac8a8733e8214c8334ea876f;p=pakfire.git archive: Load empty filelists Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/archive.c b/src/libpakfire/archive.c index c85d0e71b..efe27729c 100644 --- a/src/libpakfire/archive.c +++ b/src/libpakfire/archive.c @@ -1106,11 +1106,11 @@ static int pakfire_archive_load_filelist_legacy(PakfireArchive archive) { r = pakfire_filelist_create_from_file(&archive->filelist, archive->pakfire, data, archive->format); - if (r) { - ERROR(archive->pakfire, "Could not parse filelist\n"); - } + if (r) + ERROR(archive->pakfire, "Could not parse filelist: %s\n", strerror(errno)); - free(data); + if (data) + free(data); // Destroy the filelist on error if (r && archive->filelist) { diff --git a/src/libpakfire/filelist.c b/src/libpakfire/filelist.c index 421e9a198..77b8a7a5b 100644 --- a/src/libpakfire/filelist.c +++ b/src/libpakfire/filelist.c @@ -266,15 +266,14 @@ static int pakfire_filelist_parse_line(PakfireFile* file, Pakfire pakfire, int pakfire_filelist_create_from_file(PakfireFilelist* list, Pakfire pakfire, char* data, unsigned int format) { - if (!data) { - errno = EINVAL; - return 1; - } - int r = pakfire_filelist_create(list, pakfire); if (r) return r; + // Nothing to do, if input is empty + if (!data) + return 0; + PakfireFile file = NULL; char* tok = NULL;