entry.tar_type = '0';
entry.phar = phar;
entry.fp_type = PHAR_MOD;
+ entry.fp = NULL;
+ entry.filename = NULL;
if (phar->is_persistent) {
if (error) {
entry.filename_len = sizeof(".phar/alias.txt")-1;
entry.fp = php_stream_fopen_tmpfile();
if (entry.fp == NULL) {
+ efree(entry.filename);
spprintf(error, 0, "phar error: unable to create temporary file");
return -1;
}
if (error) {
spprintf(error, 0, "unable to set alias in tar-based phar \"%s\"", phar->fname);
}
+ php_stream_close(entry.fp);
+ efree(entry.filename);
return EOF;
}
if (error) {
spprintf(error, 0, "unable to set alias in tar-based phar \"%s\"", phar->fname);
}
+ php_stream_close(entry.fp);
+ efree(entry.filename);
return EOF;
}
} else {
if (error) {
spprintf(error, 0, "unable to access resource to copy stub to new tar-based phar \"%s\"", phar->fname);
}
+ if (entry.fp) {
+ php_stream_close(entry.fp);
+ }
+ if (entry.filename) {
+ efree(entry.filename);
+ }
return EOF;
}
if (len == -1) {
if (error) {
spprintf(error, 0, "unable to read resource to copy stub to new tar-based phar \"%s\"", phar->fname);
}
+ if (entry.fp) {
+ php_stream_close(entry.fp);
+ }
+ if (entry.filename) {
+ efree(entry.filename);
+ }
return EOF;
}
free_user_stub = 1;
if (free_user_stub) {
efree(user_stub);
}
+ if (entry.fp) {
+ php_stream_close(entry.fp);
+ }
+ if (entry.filename) {
+ efree(entry.filename);
+ }
return EOF;
}
pos = user_stub + (pos - tmp);