Commit e6dc20ca0992450f68f9880a3eb1d626f1a91f89
1 parent
43072d0a
fix urldecode of post vars. I can't urldecode the whole body and then start spli…
…tting it into values because the urldecode can add reserved characters. I have to urldecode each value by it's own. TODO: check if the keys have to be urldecoded too.
Showing
1 changed file
with
1 additions
and
2 deletions
... | ... | @@ -42,8 +42,6 @@ httpParserPostVars(HttpParser this) |
42 | 42 | char * pair = this->current->body; |
43 | 43 | ssize_t togo = this->current->nbody; |
44 | 44 | |
45 | - togo = urldecode(pair, togo); | |
46 | - | |
47 | 45 | while(NULL != pair && 0 < togo) { |
48 | 46 | char * key = pair; |
49 | 47 | char * eqsign = memchr(key, '=', togo); |
... | ... | @@ -63,6 +61,7 @@ httpParserPostVars(HttpParser this) |
63 | 61 | |
64 | 62 | nvalue = pair-eqsign-1; |
65 | 63 | value = (0 != nvalue)? eqsign+1 : NULL; |
64 | + nvalue = urldecode(value, nvalue); | |
66 | 65 | |
67 | 66 | hashAdd(request->post, |
68 | 67 | new(HashValue, key, eqsign-key, value, nvalue)); | ... | ... |
Please
register
or
login
to post a comment