summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordx <dx@dxzone.com.ar>2017-06-14 16:57:48 -0300
committerdx <dx@dxzone.com.ar>2017-06-14 16:57:48 -0300
commit139f1949dcfd9981deafcc275973b93d087e38b3 (patch)
treefc298c7ee5a1e5edc5b6a747195e748384b7eaba
parent8b14c8bf454095c6c25749e92669fc6db1e1e292 (diff)
downloadpidgin-139f1949dcfd9981deafcc275973b93d087e38b3.tar.gz
purple_markup_unescape_entity: Fix handling of hexadecimal html entities
Somehow we were under the impression that isxdigit means hexadecimal digit and the letter 'x' too. Fixes #17177
-rw-r--r--libpurple/util.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libpurple/util.c b/libpurple/util.c
index b068ed9e6a..044a7acff0 100644
--- a/libpurple/util.c
+++ b/libpurple/util.c
@@ -973,7 +973,7 @@ purple_markup_unescape_entity(const char *text, int *length)
pln = "\302\256"; /* or use g_unichar_to_utf8(0xae); */
else if(IS_ENTITY("&apos;"))
pln = "\'";
- else if(text[1] == '#' && g_ascii_isxdigit(text[2])) {
+ else if(text[1] == '#' && (g_ascii_isxdigit(text[2]) || text[2] == 'x')) {
static char buf[7];
const char *start = text + 2;
char *end;