cvs: php4 /main rfc1867.c
| From: | Jani Taskinen | Date: | Sat, 24 Nov 2001 18:23:36 +0000 |
| Subject: | cvs: php4 /main rfc1867.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-8303@lists.php.net to get a copy of this message | ||
sniper Sat Nov 24 13:23:36 2001 EDT
Modified files:
/php4/main rfc1867.c
Log:
- Handle more error types when uploading files.
Index: php4/main/rfc1867.c
diff -u php4/main/rfc1867.c:1.86 php4/main/rfc1867.c:1.87
--- php4/main/rfc1867.c:1.86 Sat Nov 24 11:07:05 2001
+++ php4/main/rfc1867.c Sat Nov 24 13:23:35 2001
@@ -16,7 +16,7 @@
| Jani Taskinen <sniper@php.net> |
+----------------------------------------------------------------------+
*/
-/* $Id: rfc1867.c,v 1.86 2001/11/24 16:07:05 zeev Exp $ */
+/* $Id: rfc1867.c,v 1.87 2001/11/24 18:23:35 sniper Exp $ */
/*
* This product includes software developed by the Apache Group
@@ -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 @@
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 @@
}
}
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) {