summaryrefslogtreecommitdiff
path: root/sys/src/cmd/tcs/conv_jis.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2014-05-11 22:29:47 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2014-05-11 22:29:47 +0200
commit7388792a124756a528666cb5c375ee919db9ca11 (patch)
treecdd61a80aff4b094a2c4f3bdfaa7637abdbead9c /sys/src/cmd/tcs/conv_jis.c
parent14cd6df332475cb6535b638104283ab12ae609c6 (diff)
tcs: prevent accidents with runes beyond 16-bit
Diffstat (limited to 'sys/src/cmd/tcs/conv_jis.c')
-rw-r--r--sys/src/cmd/tcs/conv_jis.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/src/cmd/tcs/conv_jis.c b/sys/src/cmd/tcs/conv_jis.c
index 862751411..61d0aa046 100644
--- a/sys/src/cmd/tcs/conv_jis.c
+++ b/sys/src/cmd/tcs/conv_jis.c
@@ -438,7 +438,7 @@ jisjis_out(Rune *base, int n, long *notused)
}
*p++ = r;
} else {
- if(tab[r] != -1){
+ if(r < NRUNE && tab[r] != -1){
if(state != jp2022){
*p++ = ESC; *p++ = '$'; *p++ = 'B';
state = jp2022;
@@ -478,7 +478,7 @@ msjis_out(Rune *base, int n, long *notused)
if(r < 128)
*p++ = r;
else {
- if(tab[r] != -1){
+ if(r < NRUNE && tab[r] != -1){
hi = tab[r]/100 + ' ';
lo = tab[r]%100 + ' ';
J2S(hi, lo);
@@ -517,7 +517,7 @@ ujis_out(Rune *base, int n, long *notused)
if(r < 128)
*p++ = r;
else {
- if(tab[r] != -1){
+ if(r < NRUNE && tab[r] != -1){
*p++ = 0x80 | (tab[r]/100 + ' ');
*p++ = 0x80 | (tab[r]%100 + ' ');
continue;