src/server/safs/cgi.c

changeset 145
1c93281ca4bf
parent 144
4b546c4f25ed
child 149
aa016efb9ad7
--- a/src/server/safs/cgi.c	Sat Dec 31 18:05:40 2016 +0100
+++ b/src/server/safs/cgi.c	Fri Jan 13 09:53:55 2017 +0100
@@ -83,10 +83,13 @@
     CGIProcess cgip;
     int ret = cgi_start(&cgip, path, argv, env);
     if(ret != REQ_PROCEED) {
+        util_env_free(env);
+        cgi_free_argv(argv);
         return ret;
     }
     
     util_env_free(env);
+    cgi_free_argv(argv);
     
     char buf[4096]; // I/O buffer
     ssize_t r;
@@ -246,6 +249,7 @@
  *        -1: error
  */
 static int parse_lines(CGIResponseParser *parser, char *buf, size_t len, int *pos) {
+    UcxAllocator a = util_pool_allocator(parser->sn->pool);
     sstr_t name;
     sstr_t value;
     WSBool space = TRUE;
@@ -270,7 +274,7 @@
             }
             value = sstrn(buf + value_begin, i - value_begin);
             
-            name = sstrlower(sstrtrim(name));
+            name = sstrlower_a(&a, sstrtrim(name));
             value = sstrtrim(value);
             
             if(name.length == 0 || value.length == 0) {

mercurial