From fc54e82ae9164fcbfa2b55d67f196384f7b940d8 Mon Sep 17 00:00:00 2001 From: Bryan Roe Date: Mon, 15 Jun 2020 21:09:13 -0700 Subject: [PATCH] Updated http.parseUri() to better handle malformed uri --- microscript/ILibDuktape_HttpStream.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/microscript/ILibDuktape_HttpStream.c b/microscript/ILibDuktape_HttpStream.c index 30fadb5..8b64d81 100644 --- a/microscript/ILibDuktape_HttpStream.c +++ b/microscript/ILibDuktape_HttpStream.c @@ -3635,7 +3635,19 @@ duk_ret_t ILibDuktape_httpStream_parseUri(duk_context *ctx) } else { - uri = (char*)duk_get_lstring(ctx, 0, &uriLen); + duk_string_split(ctx, 0, "://"); // [array] + if (duk_get_length(ctx, -1) == 1) + { + // Fix string format + duk_push_string(ctx, "http://"); // [array][http://] + duk_dup(ctx, 0); // [array][http://][string] + duk_string_concat(ctx, -2); // [array][uri] + uri = (char*)duk_get_lstring(ctx, -1, &uriLen); + } + else + { + uri = (char*)duk_get_lstring(ctx, 0, &uriLen); + } } protocolIndex = 1 + ILibString_IndexOf(uri, (int)uriLen, "://", 3);