From 1293b0a05b1991f80ac547106a861c253c81aa35 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Tue, 10 Jul 2018 13:48:07 +0000 Subject: [PATCH] Bug 20564: Don't use system to unzip files To test: 1 - Setup a zip file for patron images and cover images 2 - Test each tool 3 - Get a '500 error' after upload (note images do upload and attach) 4 - Apply patch 5 - Restart all the things 6 - Test agtain, uploads should complete and results display Signed-off-by: George Williams Signed-off-by: Josef Moravec Signed-off-by: Nick Clemens (cherry picked from commit 8b806227c130e86712e3e5bda61520447c60671d) Signed-off-by: Martin Renvoize (cherry picked from commit 0f45f3afdf67193ec849f72955b6de4fbeb17db0) Signed-off-by: Fridolin Somers --- tools/picture-upload.pl | 4 +++- tools/upload-cover-image.pl | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/picture-upload.pl b/tools/picture-upload.pl index 804bd96b92..5f99906d6d 100755 --- a/tools/picture-upload.pl +++ b/tools/picture-upload.pl @@ -115,7 +115,9 @@ if ( ( $op eq 'Upload' ) && $uploadfile ) { } close $tfh; if ( $filetype eq 'zip' ) { - unless ( system( "unzip", $tempfile, '-d', $dirname ) == 0 ) { + qx/unzip $tempfile -d $dirname/; + my $exit_code = $?; + unless ( $exit_code == 0 ) { $errors{'UZIPFAIL'} = $uploadfilename; $template->param( ERRORS => [ \%errors ] ); # This error is fatal to the import, so bail out here diff --git a/tools/upload-cover-image.pl b/tools/upload-cover-image.pl index dd73bbbe59..c7abcabebc 100755 --- a/tools/upload-cover-image.pl +++ b/tools/upload-cover-image.pl @@ -105,7 +105,9 @@ if ($fileID) { else { my $filename = $upload->full_path; my $dirname = File::Temp::tempdir( CLEANUP => 1 ); - unless ( system( "unzip", $filename, '-d', $dirname ) == 0 ) { + qx/unzip $filename -d $dirname/; + my $exit_code = $?; + unless ( $exit_code == 0 ) { $error = 'UZIPFAIL'; } else { -- 2.39.5