From dfacddf8e61869ff9a9bce2b5c6911edb2312d3f Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 20 Oct 2018 11:30:48 +0200 Subject: Avoid use of sscanf for parsing escapes in URIs --- src/uri.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/uri.c b/src/uri.c index 249b2674..70b13717 100644 --- a/src/uri.c +++ b/src/uri.c @@ -77,10 +77,8 @@ serd_file_uri_parse(const uint8_t* uri, uint8_t** hostname) serd_chunk_sink("%", 1, &chunk); ++s; } else if (is_hexdig(*(s + 1)) && is_hexdig(*(s + 2))) { - const uint8_t code[3] = { *(s + 1), *(s + 2), 0 }; - uint32_t num; - sscanf((const char*)code, "%X", &num); - const uint8_t c = num; + const uint8_t code[3] = {*(s + 1), *(s + 2), 0}; + const uint8_t c = (uint8_t)strtoul((const char*)code, NULL, 16); serd_chunk_sink(&c, 1, &chunk); s += 2; } else { -- cgit v1.2.1