From f27fad9b890d2696201e1df2356dd4d66f813ddd Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Mon, 27 Jan 2014 23:37:49 +0100 Subject: Check if a file is in the package's file list before extracting Signed-off-by: Florian Pritz --- lib/libalpm/add.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'lib') diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c index f38afef8..1199d300 100644 --- a/lib/libalpm/add.c +++ b/lib/libalpm/add.c @@ -178,6 +178,11 @@ static int extract_single_file(alpm_handle_t *handle, struct archive *archive, archive_read_data_skip(archive); return 0; } else { + if (!alpm_filelist_contains(&newpkg->files, entryname)) { + _alpm_log(handle, ALPM_LOG_WARNING, _("file not found in file list for package %s. skipping extraction of %s\n"), + newpkg->name, entryname); + return 0; + } /* build the new entryname relative to handle->root */ snprintf(filename, PATH_MAX, "%s%s", handle->root, entryname); } -- cgit v1.2.3-70-g09d2