diff --git a/wp-admin/includes/file.php b/wp-admin/includes/file.php index d8d9d59aae..cd015d91a7 100644 --- a/wp-admin/includes/file.php +++ b/wp-admin/includes/file.php @@ -576,7 +576,8 @@ function _unzip_file_ziparchive($file, $to, $needed_dirs = array() ) { $z = new ZipArchive(); // PHP4-compat - php4 classes can't contain constants - if ( true !== $z->open($file, /* ZIPARCHIVE::CHECKCONS */ 4) ) + $zopen = $z->open($file, /* ZIPARCHIVE::CHECKCONS */ 4); + if ( true !== $zopen || ZIP_ER_OK !== $zopen ) // may return true, or (int)0 ZIP_ER_OK under certain versions return new WP_Error('incompatible_archive', __('Incompatible Archive.')); for ( $i = 0; $i < $z->numFiles; $i++ ) {