]> granicus.if.org Git - php/commitdiff
Added filter callback
authorIlia Alshanetsky <iliaa@php.net>
Wed, 3 Jan 2007 03:55:07 +0000 (03:55 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Wed, 3 Jan 2007 03:55:07 +0000 (03:55 +0000)
Unlink temporary file on error

ext/fdf/fdf.c

index 773d851f6728fb3a42a35afc8e00a97168b0787b..e9ecc4d2eb4a8a1f19eca5c87052112b9647fd96 100644 (file)
@@ -1442,22 +1442,26 @@ SAPI_POST_HANDLER_FUNC(fdf_post_handler)
                        if(nBytes>0) {
                                err = FDFGetValue(theFDF, name, value, value_len-1, &nBytes);
                                if(err == FDFErcOK && nBytes != 0) {
+                                       unsigned int new_val_len;
+
                                        for(p=value;*p;p++) if(*p=='\r') *p='\n';
                                        if(lastfieldname) efree(lastfieldname);
-                                       lastfieldname = estrdup(name);          
-                                       php_register_variable(name, value, array_ptr TSRMLS_CC);
+                                       lastfieldname = estrdup(name);
+
+                                       if (sapi_module.input_filter(PARSE_POST, name, &value, value_len - 1, &new_val_len TSRMLS_CC)) {
+                                               php_register_variable_safe(name, value, new_val_len, array_ptr TSRMLS_CC);
+                                       }
                                } 
                        }
                }   
-               
                FDFClose(theFDF);
-               VCWD_UNLINK((const char *)filename);
-               efree(filename);
 
                if(name)          efree(name);
                if(value)         efree(value);
                if(lastfieldname) efree(lastfieldname);
        } 
+       VCWD_UNLINK((const char *)filename);
+       efree(filename);
 }
 /* }}} */