X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=server%2Ffastcgi.c;h=9ff3accf3013cdcc89c25e481978931a919ae1c1;hb=15a32ab1123375e1a52c319fca71ab8d02c58261;hp=94742bda2ac2d70a973a8d6a4906a0718a016c9c;hpb=2958589bf805b836b0cdec14e46949d6079939e4;p=matches%2FMCTX3420.git diff --git a/server/fastcgi.c b/server/fastcgi.c index 94742bd..9ff3acc 100644 --- a/server/fastcgi.c +++ b/server/fastcgi.c @@ -548,7 +548,7 @@ char *FCGI_EscapeText(char *buf) char *FCGI_URLDecode(char *buf) { char *head = buf, *tail = buf; - char hex[3] = {0}; + char val, hex[3] = {0}; while (*tail) { if (*tail == '%') { //%hh hex to char @@ -556,7 +556,9 @@ char *FCGI_URLDecode(char *buf) if (isxdigit(*tail) && isxdigit(*(tail+1))) { hex[0] = *tail++; hex[1] = *tail++; - *head++ = (char)strtol(hex, NULL, 16); + val = (char)strtol(hex, NULL, 16); + //Control codes --> Space character + *head++ = (val < 0x20) ? 0x20 : val; } else { //Not valid format; keep original head++; }