diff options
Diffstat (limited to 'urlmatch.c')
-rw-r--r-- | urlmatch.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/urlmatch.c b/urlmatch.c index 4bbde924e8b..3e42bd75048 100644 --- a/urlmatch.c +++ b/urlmatch.c @@ -42,12 +42,12 @@ static int append_normalized_escapes(struct strbuf *buf, from_len--; if (ch == '%') { - if (from_len < 2 || - !isxdigit(from[0]) || - !isxdigit(from[1])) + if (from_len < 2) return 0; - ch = hexval(*from++) << 4; - ch |= hexval(*from++); + ch = hex2chr(from); + if (ch < 0) + return 0; + from += 2; from_len -= 2; was_esc = 1; } |