Fix parsing empty QUERY_STRING
[infodrom/cgilib] / cgi.c
diff --git a/cgi.c b/cgi.c
index 1f6b6a3..3ed0af0 100644 (file)
--- a/cgi.c
+++ b/cgi.c
@@ -534,7 +534,7 @@ s_cgi *cgiReadVariables ()
            return NULL;
     } else if (cp && !strcmp(cp, "GET")) {
        esp = getenv("QUERY_STRING");
-       if (esp && strlen(esp)) {
+       if (esp) {
            if ((line = (char *)malloc (strlen(esp)+2)) == NULL)
                return NULL;
            sprintf (line, "%s", esp);
@@ -662,6 +662,7 @@ s_cgi *cgiReadVariables ()
        cp = ++ip;
     }
 
+    free(line);
     res->vars = result;
     res->cookies = NULL;
     res->files = NULL;