From 9c462fccea06a33d4b9545cd03032105d4899cda Mon Sep 17 00:00:00 2001 From: Tatsuya Kinoshita Date: Fri, 8 Apr 2016 06:10:42 +0900 Subject: Fix segfault on bogus text for wc_N_to_johab1 Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820373 Origin: https://anonscm.debian.org/cgit/collab-maint/w3m.git/commit/?id=5a159af05d8556a3f9f8f1a42d8fc153ffbc9694 --- libwc/johab.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'libwc/johab.c') diff --git a/libwc/johab.c b/libwc/johab.c index 8d587b8..498b1bb 100644 --- a/libwc/johab.c +++ b/libwc/johab.c @@ -160,9 +160,9 @@ wc_N_to_johab1(wc_uint32 code) { wc_uint32 a, b, c; - a = N_johab1_map[0][(code / 28) / 21]; - b = N_johab1_map[1][(code / 28) % 21]; - c = N_johab1_map[2][ code % 28 ]; + a = N_johab1_map[0][(code / 28) / 21 & 0x1F]; + b = N_johab1_map[1][(code / 28) % 21 & 0x1F]; + c = N_johab1_map[2][ code % 28 & 0x1F]; return 0x8000 | (a << 10) | (b << 5) | c; } -- cgit v1.2.3