Skip to content

Commit 99a92dc

Browse files
committed
ext/phar: refactor clean-up code on Windows for phar_open_parsed_phar()
1 parent 3aafc64 commit 99a92dc

1 file changed

Lines changed: 9 additions & 13 deletions

File tree

ext/phar/phar.c

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -504,15 +504,17 @@ static zend_result phar_open_parsed_phar(char *fname, size_t fname_len, char *al
504504
phar_unixify_path_separators(fname, fname_len);
505505
}
506506
#endif
507-
if (SUCCESS == phar_get_archive(&phar, fname, fname_len, alias, alias_len, error)
508-
&& ((alias && zend_string_equals_cstr(phar->fname, fname, fname_len)) || !alias)
509-
) {
507+
zend_result archive_retrieved = phar_get_archive(&phar, fname, fname_len, alias, alias_len, error);
510508
#ifdef PHP_WIN32
511-
if (fname != save_fname) {
512-
free_alloca(fname, fname_use_heap);
513-
fname = save_fname;
514-
}
509+
if (fname != save_fname) {
510+
free_alloca(fname, fname_use_heap);
511+
fname = save_fname;
512+
}
515513
#endif
514+
515+
if (SUCCESS == archive_retrieved
516+
&& ((alias && zend_string_equals_cstr(phar->fname, fname, fname_len)) || !alias)
517+
) {
516518
/* logic above is as follows:
517519
If an explicit alias was requested, ensure the filename passed in
518520
matches the phar's filename.
@@ -537,12 +539,6 @@ static zend_result phar_open_parsed_phar(char *fname, size_t fname_len, char *al
537539

538540
return SUCCESS;
539541
} else {
540-
#ifdef PHP_WIN32
541-
if (fname != save_fname) {
542-
free_alloca(fname, fname_use_heap);
543-
fname = save_fname;
544-
}
545-
#endif
546542
if (pphar) {
547543
*pphar = NULL;
548544
}

0 commit comments

Comments
 (0)