strbuf: fix urlencode format string on signed char

Git credential fails with special char in password with remote: Invalid username or password. fatal: Authentication failed for File ~/.git-credential contains badly urlencoded characters %ffffffXX%ffffffYY instead of %XX%YY. Add a cast to an unsigned char to fix urlencode use of %02x on a char. Signed-off-by: Julien Dusser <julien.dusser@free.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Julien Dusser committed Dec 22, 2017 at 18:24 UTC 4c267f2ae37e5b5f834172f04b7dd4343e370689
1 file changed +1 -1
strbuf.c
+1 -1
@@ -658,7 +658,7 @@ static void strbuf_add_urlencode(struct strbuf *sb, const char *s, size_t len,
658 (!reserved && is_rfc3986_reserved(ch)))
659 strbuf_addch(sb, ch);
660 else
661 - strbuf_addf(sb, "%%%02x", ch);
661 + strbuf_addf(sb, "%%%02x", (unsigned char)ch);
662 }
663 }
664