From 24098695eb033bc62c2301a6b5ec76feeddfcfed Mon Sep 17 00:00:00 2001 From: ame Date: Mon, 26 Jan 2026 20:09:45 -0600 Subject: fix decoding edge case --- src/net.c | 5 ++++- src/net/util.c | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/net.c b/src/net.c index c9fdc08..d2f4e17 100644 --- a/src/net.c +++ b/src/net.c @@ -859,7 +859,10 @@ void* handle_client(void *_arg){ parray_t* par = params->arr[id].value; for(int z = 0; z != par->len; z++){ - luaI_tsets(L, new_param_idx, par->P[z].key->c, (char*)par->P[z].value); + char* v = ((char*)par->P[z].value); + for(int u = 0; v[u] != '\0'; u++) + if(v[u] == '%') v[u] = '/'; + luaI_tsets(L, new_param_idx, par->P[z].key->c, v); } parray_clear(par, FREE); diff --git a/src/net/util.c b/src/net/util.c index bada160..62b394c 100644 --- a/src/net/util.c +++ b/src/net/util.c @@ -546,6 +546,7 @@ int percent_decode(str* input, str** _output){ return 1; } + if(c == '/') c = '%'; str_pushl(output, ((char*)&c), 1); str_free(hex); i += 2; -- cgit v1.2.3