From: Amos Jeffries Date: Sun, 15 Feb 2015 08:24:23 +0000 (-0800) Subject: Fix memory leaks in cachemgr.cgi URL parser X-Git-Tag: merge-candidate-3-v1~267 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=03336c670efbe4af6b55a776c7a670d89d34cc3a;p=thirdparty%2Fsquid.git Fix memory leaks in cachemgr.cgi URL parser Detected by Coverity Scan. Issue 1256164 --- diff --git a/tools/cachemgr.cc b/tools/cachemgr.cc index 2c3e25cf60..87fb18bafe 100644 --- a/tools/cachemgr.cc +++ b/tools/cachemgr.cc @@ -980,7 +980,7 @@ read_request(void) cachemgr_request *req; char *s; - char *t; + char *t = NULL; char *q; if ((buf = read_post_request()) != NULL) @@ -1005,6 +1005,7 @@ read_request(void) req = (cachemgr_request *)xcalloc(1, sizeof(cachemgr_request)); for (s = strtok(buf, "&"); s != NULL; s = strtok(NULL, "&")) { + safe_free(t); t = xstrdup(s); if ((q = strchr(t, '=')) == NULL) @@ -1035,8 +1036,8 @@ read_request(void) req->workers = xstrdup(q); else if (0 == strcmp(t, "processes") && strlen(q)) req->processes = xstrdup(q); - safe_free(t); } + safe_free(t); if (req->server && !req->hostname) { char *p;