Catch ssplit() failures in parse_cgi_parameters()
authorFabian Keil <fk@fabiankeil.de>
Fri, 8 Jun 2012 15:07:53 +0000 (15:07 +0000)
committerFabian Keil <fk@fabiankeil.de>
Fri, 8 Jun 2012 15:07:53 +0000 (15:07 +0000)
cgi.c

diff --git a/cgi.c b/cgi.c
index c0f1270..c55f58f 100644 (file)
--- a/cgi.c
+++ b/cgi.c
@@ -1,4 +1,4 @@
-const char cgi_rcs[] = "$Id: cgi.c,v 1.149 2012/03/09 16:24:36 fabiankeil Exp $";
+const char cgi_rcs[] = "$Id: cgi.c,v 1.150 2012/03/09 17:55:49 fabiankeil Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/cgi.c,v $
@@ -614,6 +614,11 @@ static struct map *parse_cgi_parameters(char *argstring)
    }
 
    pairs = ssplit(argstring, "&", vector, SZ(vector), 1, 1);
+   if (pairs == -1)
+   {
+      free_map(cgi_params);
+      return NULL;
+   }
 
    for (i = 0; i < pairs; i++)
    {