diff options
| author | Nicolai Dagestad <nicolai@dagestad.fr> | 2024-09-15 15:03:21 +0200 |
|---|---|---|
| committer | Nicolai Dagestad <nicolai@dagestad.fr> | 2024-09-15 18:39:49 +0200 |
| commit | ba5cbb6d828165a43826c6afdd71fa2edbdca302 (patch) | |
| tree | 87290e2f2a97433c35f0ce86cd14cabe9703dd2c /xs_url.h | |
| parent | 31ce1af73630143036d9cfc6a8a5083402f6b7aa (diff) | |
URL decode data after splitting the arguments
Data decoding should happen after the parsing if not, a '?', '&', '#'
or other character decoded will interfere with the parsing. e.g. the
users password contains a '&', then it is truncated on that character,
and login will fail.
Diffstat (limited to 'xs_url.h')
| -rw-r--r-- | xs_url.h | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -53,7 +53,7 @@ xs_dict *xs_url_vars(const char *str) const xs_val *v; xs_list_foreach(args, v) { - xs *kv = xs_split_n(v, "=", 1); + xs *kv = xs_split_n(xs_url_dec(v), "=", 1); if (xs_list_len(kv) == 2) { const char *key = xs_list_get(kv, 0); |