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 <george@nekls.org>

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This commit is contained in:
Nick Clemens 2018-07-10 13:48:07 +00:00
parent a389c751cb
commit 8b806227c1
2 changed files with 6 additions and 2 deletions

View file

@ -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

View file

@ -104,7 +104,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 {