libextractor

GNU libextractor
Log | Files | Refs | Submodules | README | LICENSE

commit ad64a88614401b271e868ec54652acd2eaa15521
parent c51a3c3b2c7502904e76beb35746aa26b2d97cf8
Author: Christian Grothoff <christian@grothoff.org>
Date:   Thu, 11 Oct 2012 07:20:37 +0000

bratao: fix for #2586, crash of archive_extractor on opening lnk-files

Diffstat:
MChangeLog | 3+++
Msrc/plugins/archive_extractor.c | 4+++-
2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,6 @@ +Thu Oct 11 09:19:42 CEST 2012 + Fixing archive-plugin crash on ".lnk" files (#2586). -bratao + Tue Oct 9 22:28:50 CEST 2012 Fixing use-after-free in plugin IPC if plugin crashes while no seek is pending. -CG diff --git a/src/plugins/archive_extractor.c b/src/plugins/archive_extractor.c @@ -101,7 +101,9 @@ EXTRACTOR_archive_extract_method (struct EXTRACTOR_ExtractContext *ec) a = archive_read_new (); archive_read_support_compression_all (a); archive_read_support_format_all (a); - archive_read_open2 (a, ec, NULL, &read_cb, &skip_cb, NULL); + if(archive_read_open2 (a, ec, NULL, &read_cb, &skip_cb, NULL)!= ARCHIVE_OK) + return; + while (ARCHIVE_OK == archive_read_next_header(a, &entry)) { if ( (NULL == format) &&