]> granicus.if.org Git - php/commitdiff
- Don't free stuff you still need
authorSteph Fox <sfox@php.net>
Sat, 21 Jun 2008 21:37:39 +0000 (21:37 +0000)
committerSteph Fox <sfox@php.net>
Sat, 21 Jun 2008 21:37:39 +0000 (21:37 +0000)
ext/phar/util.c

index 09119f86f030b31e49c6b33d57d8b078dc50259c..2f9e9e3df15e0a0c5b11bd5ef1fd4f428eac6fb2 100644 (file)
@@ -746,12 +746,12 @@ phar_entry_data *phar_get_or_create_entry_data(char *fname, int fname_len, char
                etemp.tar_type = TAR_FILE;
        }
        if (FAILURE == zend_hash_add(&phar->manifest, etemp.filename, path_len, (void*)&etemp, sizeof(phar_entry_info), (void **) &entry)) {
-               efree(ret);
                php_stream_close(etemp.fp);
-               efree(etemp.filename);
                if (error) {
                        spprintf(error, 0, "phar error: unable to add new entry \"%s\" to phar \"%s\"", etemp.filename, phar->fname);
                }
+               efree(ret);
+               efree(etemp.filename);
                return NULL;
        }