mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4: Fix #81490: ZipArchive::extractTo() may leak memory
This commit is contained in:
commit
5db6e35843
3 changed files with 27 additions and 1 deletions
|
@ -149,11 +149,13 @@ static int php_zip_extract_file(struct zip * za, char *dest, char *file, size_t
|
|||
virtual_file_ex(&new_state, file, NULL, CWD_EXPAND);
|
||||
path_cleaned = php_zip_make_relative_path(new_state.cwd, new_state.cwd_length);
|
||||
if(!path_cleaned) {
|
||||
CWD_STATE_FREE(new_state.cwd);
|
||||
return 0;
|
||||
}
|
||||
path_cleaned_len = strlen(path_cleaned);
|
||||
|
||||
if (path_cleaned_len >= MAXPATHLEN || zip_stat(za, file, 0, &sb) != 0) {
|
||||
CWD_STATE_FREE(new_state.cwd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -188,8 +190,8 @@ static int php_zip_extract_file(struct zip * za, char *dest, char *file, size_t
|
|||
efree(file_dirname_fullpath);
|
||||
if (!is_dir_only) {
|
||||
zend_string_release_ex(file_basename, 0);
|
||||
CWD_STATE_FREE(new_state.cwd);
|
||||
}
|
||||
CWD_STATE_FREE(new_state.cwd);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue