X-Git-Url: http://www.dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fcallfcgi.c;h=27c9c5e609f9dba4de184bd20b96db06e8274e95;hb=b77076c4041fdd70f9c5d1bcc48ec248d7e6fd3b;hp=9a7a36226fa485b83b36258294432b787eac7aee;hpb=09c82f9c7bc563c081425141853e6ff8e402e358;p=ashd.git diff --git a/src/callfcgi.c b/src/callfcgi.c index 9a7a362..27c9c5e 100644 --- a/src/callfcgi.c +++ b/src/callfcgi.c @@ -466,6 +466,7 @@ static void mkcgienv(struct hthead *req, struct charbuf *dst) bufaddenv(dst, "SCRIPT_NAME", "%s", url); } bufaddenv(dst, "QUERY_STRING", "%s", qp?qp:""); + free(url); if((h = getheader(req, "Host")) != NULL) bufaddenv(dst, "SERVER_NAME", "%s", h); if((h = getheader(req, "X-Ash-Server-Port")) != NULL) @@ -482,8 +483,11 @@ static void mkcgienv(struct hthead *req, struct charbuf *dst) bufaddenv(dst, "CONTENT_LENGTH", "%s", h); else bufaddenv(dst, "CONTENT_LENGTH", "0"); - if((h = getheader(req, "X-Ash-File")) != NULL) - bufaddenv(dst, "SCRIPT_FILENAME", "%s", absolutify(h)); + if((h = getheader(req, "X-Ash-File")) != NULL) { + h = absolutify(h); + bufaddenv(dst, "SCRIPT_FILENAME", "%s", h); + free(h); + } for(i = 0; i < req->noheaders; i++) { h = sprintf2("HTTP_%s", req->headers[i][0]); for(p = h; *p; p++) {