X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fnet%2Fhttp.c;h=dd4ee4fd22ffdcdda57f3efba7174f47b39c06d5;hb=e1ab084b6b7434979ca344270526934e2af508d9;hp=891c462bbd13356c0920d0803e38c070e43c9785;hpb=a03edef2a1dba1c14bd1c761bfa635250893933a;p=bertos.git diff --git a/bertos/net/http.c b/bertos/net/http.c index 891c462b..dd4ee4fd 100644 --- a/bertos/net/http.c +++ b/bertos/net/http.c @@ -83,6 +83,9 @@ void http_decodeUri(const char *raw_buf, size_t raw_len, char *decodec_buf, size char value; for (size_t i = 0; i < raw_len; i++) { + if (!len) + return; + if (raw_buf[i] == '%') { if (i + 2 < raw_len) @@ -92,12 +95,14 @@ void http_decodeUri(const char *raw_buf, size_t raw_len, char *decodec_buf, size if (value) { *decodec_buf++ = value; + len--; i += 2; continue; } } } *decodec_buf++ = raw_buf[i]; + len--; } }