diff options
Diffstat (limited to 'debian/patches/902_johab1.patch')
-rw-r--r-- | debian/patches/902_johab1.patch | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/debian/patches/902_johab1.patch b/debian/patches/902_johab1.patch new file mode 100644 index 0000000..cd5d8a7 --- /dev/null +++ b/debian/patches/902_johab1.patch @@ -0,0 +1,22 @@ +Subject: Fix segfault on bogus text for wc_N_to_johab1 +Author: Tatsuya Kinoshita <tats@debian.org> +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 + +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; + } + |