From f27fad9b890d2696201e1df2356dd4d66f813ddd Mon Sep 17 00:00:00 2001
From: Florian Pritz <bluewind@xinu.at>
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 <bluewind@xinu.at>
---
 lib/libalpm/add.c | 5 +++++
 1 file changed, 5 insertions(+)

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