Fix mimetype add overflow
authorEduardo Silva <edsiper@gmail.com>
Wed, 10 Mar 2010 15:02:29 +0000 (12:02 -0300)
committerEduardo Silva <edsiper@gmail.com>
Wed, 10 Mar 2010 15:02:29 +0000 (12:02 -0300)
src/mimetype.c
src/utils.c

index 13b75d0..f5f1ffe 100644 (file)
@@ -89,12 +89,13 @@ int mk_mimetype_add(char *name, char *type, char *bin_path)
 
     new_mime->name = mk_string_dup(name);
 
-    len = strlen(type) + 2;
+    len = strlen(type) + 3;
     new_mime->type.data = mk_mem_malloc(len);
-    new_mime->type.len = len;
+    new_mime->type.len = len - 1;
 
     strcpy(new_mime->type.data, type);
     strcat(new_mime->type.data, MK_CRLF);
+    new_mime->type.data[len-1] = '\0';
 
     //mk_pointer_set(&new_mime->type, mk_string_dup(type));
     new_mime->script_bin_path = mk_string_dup(bin_path);
index c6fd41c..f6658aa 100644 (file)
@@ -80,7 +80,7 @@ int SendFile(int socket, struct client_request *cr, struct request *sr)
  en el header */
 mk_pointer PutDate_string(time_t date)
 {
-    int n, size = 50;
+    int n, size = 32;
     mk_pointer date_gmt;
     struct tm *gmt_tm;
 
@@ -273,7 +273,7 @@ mk_pointer mk_utils_int2mkp(int n)
     int size = 32;
 
     buf = mk_mem_malloc(size);
-    len = snprintf(buf, 32, "%i\r\n", n);
+    len = snprintf(buf, size, "%i\r\n", n);
 
     p.data = buf;
     p.len = len;