commit c5d5d231399df478b6d2d42ca6fde072abf57009 from: Omar Polo date: Wed Sep 14 17:11:31 2022 UTC free vars before assigning them prevent a leaks if the server sends some parameter twice commit - 2944b5788d975ee467b544fc8c566c50e6948022 commit + c5d5d231399df478b6d2d42ca6fde072abf57009 blob - 2c5de8fc94396a4665ffad47afd40aec6b1dbcc6 blob + e5b9488f40f225bed7324435cbdaf60e140ee421 --- fcgi.c +++ fcgi.c @@ -314,6 +314,7 @@ fcgi_parse_params(struct fcgi *fcgi, struct evbuffer * evbuffer_remove(src, &server, vlen); server[vlen] = '\0'; + free(clt->clt_server_name); if ((clt->clt_server_name = strdup(server)) == NULL) return (-1); log_debug("clt %d: server_name: %s", clt->clt_id, @@ -327,6 +328,7 @@ fcgi_parse_params(struct fcgi *fcgi, struct evbuffer * evbuffer_remove(src, &path, vlen); path[vlen] = '\0'; + free(clt->clt_script_name); if ((clt->clt_script_name = strdup(path)) == NULL) return (-1); log_debug("clt %d: script_name: %s", clt->clt_id, @@ -343,6 +345,7 @@ fcgi_parse_params(struct fcgi *fcgi, struct evbuffer * if (vlen == 0) (void) strlcpy(path, "/", sizeof(path)); + free(clt->clt_path_info); if ((clt->clt_path_info = strdup(path)) == NULL) return (-1); log_debug("clt %d: path_info: %s", clt->clt_id,