diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/sp_upload_validation.c | 16 | ||||
| -rw-r--r-- | src/sp_upload_validation.h | 4 |
2 files changed, 11 insertions, 9 deletions
diff --git a/src/sp_upload_validation.c b/src/sp_upload_validation.c index 794c61f..a8a1340 100644 --- a/src/sp_upload_validation.c +++ b/src/sp_upload_validation.c | |||
| @@ -3,16 +3,15 @@ | |||
| 3 | 3 | ||
| 4 | ZEND_DECLARE_MODULE_GLOBALS(snuffleupagus) | 4 | ZEND_DECLARE_MODULE_GLOBALS(snuffleupagus) |
| 5 | 5 | ||
| 6 | int (*sp_rfc1867_orig_callback)(unsigned int event, void *event_data, | ||
| 7 | void **extra); | ||
| 8 | int sp_rfc1867_callback(unsigned int event, void *event_data, void **extra); | ||
| 9 | |||
| 6 | #define EFREE_3(env) \ | 10 | #define EFREE_3(env) \ |
| 7 | for (size_t i = 0; i < 4; i++) { \ | 11 | for (size_t i = 0; i < 4; i++) { \ |
| 8 | efree(env[i]); \ | 12 | efree(env[i]); \ |
| 9 | } | 13 | } |
| 10 | 14 | ||
| 11 | void hook_upload() { | ||
| 12 | sp_rfc1867_orig_callback = php_rfc1867_callback; | ||
| 13 | php_rfc1867_callback = sp_rfc1867_callback; | ||
| 14 | } | ||
| 15 | |||
| 16 | int sp_rfc1867_callback(unsigned int event, void *event_data, void **extra) { | 15 | int sp_rfc1867_callback(unsigned int event, void *event_data, void **extra) { |
| 17 | int retval = SUCCESS; | 16 | int retval = SUCCESS; |
| 18 | 17 | ||
| @@ -99,3 +98,10 @@ int sp_rfc1867_callback(unsigned int event, void *event_data, void **extra) { | |||
| 99 | } | 98 | } |
| 100 | return retval; | 99 | return retval; |
| 101 | } | 100 | } |
| 101 | |||
| 102 | void hook_upload() { | ||
| 103 | if (NULL == sp_rfc1867_orig_callback) { | ||
| 104 | sp_rfc1867_orig_callback = php_rfc1867_callback; | ||
| 105 | php_rfc1867_callback = sp_rfc1867_callback; | ||
| 106 | } | ||
| 107 | } | ||
diff --git a/src/sp_upload_validation.h b/src/sp_upload_validation.h index ae3871b..53790fd 100644 --- a/src/sp_upload_validation.h +++ b/src/sp_upload_validation.h | |||
| @@ -3,8 +3,4 @@ | |||
| 3 | 3 | ||
| 4 | void hook_upload(); | 4 | void hook_upload(); |
| 5 | 5 | ||
| 6 | int (*sp_rfc1867_orig_callback)(unsigned int event, void *event_data, | ||
| 7 | void **extra); | ||
| 8 | int sp_rfc1867_callback(unsigned int event, void *event_data, void **extra); | ||
| 9 | |||
| 10 | #endif | 6 | #endif |
