summaryrefslogtreecommitdiff
path: root/www/cgihtml/files/patch-aa
diff options
context:
space:
mode:
authorAdam Weinberger <adamw@FreeBSD.org>2014-07-29 15:49:46 +0000
committerAdam Weinberger <adamw@FreeBSD.org>2014-07-29 15:49:46 +0000
commit5fef74e277a1a8631418cc86635c091fcc79d099 (patch)
tree1f91b768812d879efc689dc94c0aa53e7c1ba2fa /www/cgihtml/files/patch-aa
parent- Add LICENSE (diff)
Rename www/ patch-xy patches to reflect the files they modify.
Diffstat (limited to 'www/cgihtml/files/patch-aa')
-rw-r--r--www/cgihtml/files/patch-aa121
1 files changed, 0 insertions, 121 deletions
diff --git a/www/cgihtml/files/patch-aa b/www/cgihtml/files/patch-aa
deleted file mode 100644
index f208f6cfb91b..000000000000
--- a/www/cgihtml/files/patch-aa
+++ /dev/null
@@ -1,121 +0,0 @@
-Index: cgi-lib.c
-===================================================================
-RCS file: /home/cvs/ringlet/c/contrib/www/cgihtml/cgi-lib.c,v
-retrieving revision 1.1.1.1
-retrieving revision 1.6
-diff -u -r1.1.1.1 -r1.6
---- cgi-lib.c 27 Oct 2003 09:39:04 -0000 1.1.1.1
-+++ cgi-lib.c 27 Oct 2003 12:07:00 -0000 1.6
-@@ -17,6 +17,10 @@
-
- #ifdef WINDOWS
- #include <io.h>
-+#define mktemp _mktemp
-+#define snprintf _snprintf
-+#else
-+#include <unistd.h>
- #endif
-
- #include "cgi-lib.h"
-@@ -87,11 +91,11 @@
-
- char *get_POST()
- {
-- unsigned int content_length;
-+ size_t content_length;
- char *buffer;
-
- if (CONTENT_LENGTH != NULL) {
-- content_length = atoi(CONTENT_LENGTH);
-+ content_length = (size_t)strtoull(CONTENT_LENGTH, NULL, 10);
- buffer = (char *)malloc(sizeof(char) * content_length + 1);
- if (fread(buffer,sizeof(char),content_length,stdin) != content_length) {
- /* consistency error. */
-@@ -202,7 +206,7 @@
-
- int parse_form_encoded(llist* entries)
- {
-- long content_length;
-+ size_t content_length, fnsize;
- entrytype entry;
- node* window;
- FILE *uploadfile;
-@@ -220,7 +224,7 @@
- _fmode = BINARY; /* default all file I/O as binary */
- #endif
- if (CONTENT_LENGTH != NULL)
-- content_length = atol(CONTENT_LENGTH);
-+ content_length = (size_t)strtoull(CONTENT_LENGTH, NULL, 10);
- else
- return 0;
- /* get boundary */
-@@ -241,14 +245,20 @@
- robustness sake. */
- buffer[bytesread] = '\0';
- tempstr = newstr(buffer);
-- tempstr += (sizeof(char) * 38); /* 38 is header up to name */
-- entry.name = tempstr;
-+ entry.name = strstr(tempstr, "name=\"");
-+ if (entry.name == NULL) {
-+ free(tempstr);
-+ return 0;
-+ }
-+ entry.name += 6;
-+ if (strchr(entry.name, '"') == NULL) {
-+ free(tempstr);
-+ return 0;
-+ }
-+ *strchr(entry.name, '"') = '\0';
- entry.value = (char *)malloc(sizeof(char) * BUFSIZ + 1);
- buffersize = BUFSIZ;
- strcpy(entry.value,"");
-- while (*tempstr != '"')
-- tempstr++;
-- *tempstr = '\0';
- if (strstr(buffer,"filename=\"") != NULL) {
- isfile = 1;
- tempstr = newstr(buffer);
-@@ -258,9 +268,9 @@
- entry.value = (char *) realloc(entry.value, sizeof(char) *
- strlen(tempstr)+1);
- entry.value = tempstr;
-- while (*tempstr != '"')
-- tempstr++;
-- *tempstr = '\0';
-+ if (strchr(tempstr, '"') == NULL)
-+ return 0;
-+ *strchr(tempstr, '"') = '\0';
- /* Netscape's Windows browsers handle paths differently from its
- UNIX and Mac browsers. It delivers a full path for the uploaded
- file (which it shouldn't do), and it uses backslashes rather than
-@@ -275,13 +285,12 @@
- }
- window = list_insafter(entries,window,entry);
- numentries++;
-- uploadfname = (char *)malloc(strlen(UPLOADDIR)+strlen(entry.value)+2);
--#ifdef WINDOWS
-- sprintf(uploadfname,"%s\\%s",UPLOADDIR,entry.value);
--#else
-- sprintf(uploadfname,"%s/%s",UPLOADDIR,entry.value);
--#endif
-- if ( (uploadfile = fopen(uploadfname,"w")) == NULL) {
-+ fnsize = strlen(UPLOADDIR) + 30;
-+ uploadfname = (char *)malloc(fnsize);
-+ snprintf(uploadfname,fnsize,"%s/cgihtml-upload-XXXXXX",UPLOADDIR);
-+ uploadfname[fnsize - 1] = '\0';
-+ if (mktemp(uploadfname) == NULL ||
-+ (uploadfile = fopen(uploadfname,"w")) == NULL) {
- /* null filename; for now, just don't save info. later, save
- to default file */
- isfile = 0;
-@@ -529,9 +538,9 @@
- int numcookies = 0;
- short NM = 1;
-
-+ list_create(entries);
- if (cookies == NULL)
- return 0;
-- list_create(entries);
- window = entries->head;
- len = strlen(cookies);
- entry.name = (char *)malloc(sizeof(char) * len + 1);