From 6083eb1030182419aea0dd943bdd93cdf7c1fa71 Mon Sep 17 00:00:00 2001 From: foobar Date: Sat, 24 Nov 2001 18:23:35 +0000 Subject: [PATCH] - Handle more error types when uploading files. --- main/rfc1867.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/main/rfc1867.c b/main/rfc1867.c index cf7de8cb47..b2a2a7a895 100644 --- a/main/rfc1867.c +++ b/main/rfc1867.c @@ -51,10 +51,11 @@ #define MAX_SIZE_OF_INDEX sizeof("[tmp_name]") /* Errors */ -#define UPLOAD_ERROR_A 2 /* Uploaded file exceeded upload_max_filesize */ -#define UPLOAD_ERROR_B 3 /* Uploaded file exceeded MAX_FILE_SIZE */ -#define UPLOAD_ERROR_C 4 /* Only partiallly uploaded */ - +#define UPLOAD_ERROR_A 1 /* Uploaded file exceeded upload_max_filesize */ +#define UPLOAD_ERROR_B 2 /* Uploaded file exceeded MAX_FILE_SIZE */ +#define UPLOAD_ERROR_C 3 /* Only partiallly uploaded */ +#define UPLOAD_ERROR_D 4 /* No file uploaded */ +#define UPLOAD_ERROR_E 5 /* Uploaded file size 0 bytes */ static void add_protected_variable(char *varname TSRMLS_DC) { @@ -695,6 +696,11 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler) total_bytes = 0; cancel_upload = 0; + if(strlen(filename) == 0) { + sapi_module.sapi_error(E_WARNING, "No file uploaded"); + cancel_upload = UPLOAD_ERROR_D; + } + while (!cancel_upload && (blen = multipart_buffer_read(mbuff, buff, sizeof(buff) TSRMLS_CC))) { if (total_bytes > PG(upload_max_filesize)) { @@ -715,6 +721,11 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler) } } fclose(fp); + + if(strlen(filename) > 0 && total_bytes == 0) { + sapi_module.sapi_error(E_WARNING, "Uploaded file size 0 - file [%s=%s] not saved", param, filename); + cancel_upload = UPLOAD_ERROR_E; + } if (cancel_upload || total_bytes == 0) { -- 2.50.1