From a60dae7e4e134cad7893f36f455b8cc6239b3452 Mon Sep 17 00:00:00 2001 From: Vladimir Serbinenko Date: Sun, 27 Oct 2013 13:34:46 +0100 Subject: [PATCH] * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to transform invalid unicode codepoints. --- ChangeLog | 5 +++++ grub-core/kern/misc.c | 12 +----------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index e53bb88d2..4a8dab5c5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-10-21 Vladimir Serbinenko + + * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to + transform invalid unicode codepoints. + 2013-10-21 Vladimir Serbinenko * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c index 431522e29..5af4582a0 100644 --- a/grub-core/kern/misc.c +++ b/grub-core/kern/misc.c @@ -947,21 +947,11 @@ grub_vsnprintf_real (char *str, grub_size_t max_len, const char *fmt0, va_list a shift = 12; mask = 0xe0; } - else if (code <= 0x1fffff) + else if (code <= 0x10ffff) { shift = 18; mask = 0xf0; } - else if (code <= 0x3ffffff) - { - shift = 24; - mask = 0xf8; - } - else if (code <= 0x7fffffff) - { - shift = 30; - mask = 0xfc; - } else { code = '?';