commit 913884630c0a521173d2d370912867d3010d5f66 from: Omar Polo date: Tue May 28 09:42:29 2024 UTC gotwebd: use the last matching fastcgi parameter in case of multiple parameters with the same name, use the last matching one. commit - addd8d40708de74e3dcbfb6962a12f29189e674e commit + 913884630c0a521173d2d370912867d3010d5f66 blob - 0fab4198fe9d0e400c7a2483af0bc1ff5afc51d6 blob + 0b8297b06fb4197ffb6bbcabde06045db0db95d5 --- gotwebd/fcgi.c +++ gotwebd/fcgi.c @@ -232,24 +232,21 @@ fcgi_parse_params(uint8_t *buf, uint16_t n, struct req val = buf + name_len; - if (c->querystring[0] == '\0' && - val_len < MAX_QUERYSTRING && + if (val_len < MAX_QUERYSTRING && name_len == 12 && strncmp(buf, "QUERY_STRING", 12) == 0) { memcpy(c->querystring, val, val_len); c->querystring[val_len] = '\0'; } - if (c->document_uri[0] == '\0' && - val_len < MAX_DOCUMENT_URI && + if (val_len < MAX_DOCUMENT_URI && name_len == 12 && strncmp(buf, "DOCUMENT_URI", 12) == 0) { memcpy(c->document_uri, val, val_len); c->document_uri[val_len] = '\0'; } - if (c->server_name[0] == '\0' && - val_len < MAX_SERVER_NAME && + if (val_len < MAX_SERVER_NAME && name_len == 11 && strncmp(buf, "SERVER_NAME", 11) == 0) { memcpy(c->server_name, val, val_len);