# \[Bug:1.9\] nkf may cause memory violation

**URL:** <https://www.ruby-forum.com/t/bug-1-9-nkf-may-cause-memory-violation/148937>\
**Category:** Development\
**Created:** [September 18, 2008, 2:22pm UTC](https://www.ruby-forum.com/t/bug-1-9-nkf-may-cause-memory-violation/148937 "2008-09-18T14:22:45Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [September 18, 2008, 2:22pm UTC](https://www.ruby-forum.com/t/bug-1-9-nkf-may-cause-memory-violation/148937/1 "2008-09-18T14:22:45Z")

</div>

e$B1sF#$G$9!#e(B

e$B0J2\<$N$h$&$Ke(B nkf e$B$K%Q%C%A$r$"$F$Fe(B

# Index: ext/nkf/nkf-utf8/nkf.c

— ext/nkf/nkf-utf8/nkf.c (revision 19412)  
+++ ext/nkf/nkf-utf8/nkf.c (working copy)  
@@ -1482,6 +1482,7 @@  
}  
if (cp932inv\_f  
&& CP932INV\_TABLE\_BEGIN \<= c2 && c2 \<= CP932INV\_TABLE\_END){

- printf(“access cp932inv[%d][%d]\n”, c2 - CP932INV\_TABLE\_BEGIN, c1 -  
0x40);  
nkf\_char c = cp932inv[c2 - CP932INV\_TABLE\_BEGIN][c1 - 0x40];  
if ©{  
c2 = c \>\> 8;

e$B0J2\<$r\<B9T$9$k$He(B

$ ./ruby -rnkf -e ‘NKF.nkf("-Sw", [0xee, 0xff].pack(“C\*”))’  
access cp932inv[1][191]

e$B$H$J$j$^$9$,!"e(Bcp932inv e$B$N7?$Oe(B

extern const unsigned short cp932inv[2][189];

e$B$G$"$k$?$a!"%"%/%;%90cH?$r$7$F$$$k$H;W$$$^$9!#e(B

e$B3NG’$O$7$F$J$$$G$9$,!"$b$&0l$+=j$Ne(B cp932inv e$B$N%"%/%;%9$He(B  
shiftjis\_cp932 e$B$N%"%/%;%9$bF1$8LdBj$,5/$-$=$&$J5$$,$7$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [February 23, 2009, 5:08pm UTC](https://www.ruby-forum.com/t/bug-1-9-nkf-may-cause-memory-violation/148937/2 "2009-02-23T17:08:32Z")

</div>

e$B%A%1%C%He(B #573 e$B$,99?7$5$l$^$7$?!#e(B (by Yui NARUSE)

e$B%9%F!\<%?%9e(B Opene$B$+$ie(BClosede$B$KJQ99e(B

## e$B=$@5:Q$\_$G$9!#e(B

[http://redmine.ruby-lang.org/issues/show/573](http://redmine.ruby-lang.org/issues/show/573)
