]> granicus.if.org Git - php/commitdiff
Fixed possible crash on fstat() failure.
authorIlia Alshanetsky <iliaa@php.net>
Mon, 8 Nov 2004 04:54:27 +0000 (04:54 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Mon, 8 Nov 2004 04:54:27 +0000 (04:54 +0000)
ext/fdf/fdf.c

index e3568b199abbe6c71b3bf7d18e1a813f8397329e..db3a88e6d7df3288ac9a0569b48592405db43889 100644 (file)
@@ -871,7 +871,10 @@ PHP_FUNCTION(fdf_save_string)
                                struct stat stat;
                                char *buf;
 
-                               fstat(fileno(fp), &stat);
+                               if (fstat(fileno(fp), &stat) == -1) {
+                                       RETVAL_FALSE;
+                                       goto err;
+                               }
                                buf = emalloc(stat.st_size +1);
                                fread(buf, stat.st_size, 1, fp);
                                buf[stat.st_size] = '\0';
@@ -889,7 +892,7 @@ PHP_FUNCTION(fdf_save_string)
        if(err != FDFErcOK) {
                FDF_FAILURE(err);
        }
-
+err:
        if(temp_filename) {
                unlink(temp_filename);
                efree(temp_filename);