summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2004-11-02 16:41:26 +0000
committerIlia Alshanetsky <iliaa@php.net>2004-11-02 16:41:26 +0000
commitc7b537e2c3c5e8fe1ac6cf10dd846d281dc5d3ba (patch)
tree6a18251ce0787eceadf286733a3b09a7fb43cf11
parent523d3c122f36f0759398275297f4e78974eab356 (diff)
downloadphp-git-c7b537e2c3c5e8fe1ac6cf10dd846d281dc5d3ba.tar.gz
Fixed bug #30658 (Ensure that temporary files created by GD are removed).
-rw-r--r--ext/gd/gd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/ext/gd/gd.c b/ext/gd/gd.c
index f00e46f65a..7e33487fbe 100644
--- a/ext/gd/gd.c
+++ b/ext/gd/gd.c
@@ -1767,8 +1767,9 @@ static void _php_image_output(INTERNAL_FUNCTION_PARAMETERS, int image_type, char
int b;
FILE *tmp;
char buf[4096];
+ char *path;
- tmp = php_open_temporary_file("", "", NULL TSRMLS_CC);
+ tmp = php_open_temporary_file("", "", &path TSRMLS_CC);
if (tmp == NULL) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open temporary file");
RETURN_FALSE;
@@ -1823,7 +1824,8 @@ static void _php_image_output(INTERNAL_FUNCTION_PARAMETERS, int image_type, char
}
fclose(tmp);
- /* the temporary file is automatically deleted */
+ VCWD_UNLINK((const char *)path); /* make sure that the temporary file is removed */
+ efree(path);
}
RETURN_TRUE;
}