[前][次][番号順一覧][スレッド一覧]

ruby-changes:15028

From: nobu <ko1@a...>
Date: Sat, 13 Mar 2010 11:07:02 +0900 (JST)
Subject: [ruby-changes:15028] Ruby:r26903 (ruby_1_8): * ext/nkf/nkf-utf8/nkf.c (numchar_getc): get rid of buffer

nobu	2010-03-13 11:06:35 +0900 (Sat, 13 Mar 2010)

  New Revision: 26903

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=26903

  Log:
    * ext/nkf/nkf-utf8/nkf.c (numchar_getc): get rid of buffer
      overflow.  [ruby-dev:40606]

  Modified files:
    branches/ruby_1_8/ChangeLog
    branches/ruby_1_8/ext/nkf/nkf-utf8/nkf.c
    branches/ruby_1_8/test/nkf/test_nkf.rb

Index: ruby_1_8/ext/nkf/nkf-utf8/nkf.c
===================================================================
--- ruby_1_8/ext/nkf/nkf-utf8/nkf.c	(revision 26902)
+++ ruby_1_8/ext/nkf/nkf-utf8/nkf.c	(revision 26903)
@@ -5004,7 +5004,7 @@
     nkf_char (*g)(FILE *) = i_ngetc;
     nkf_char (*u)(nkf_char c ,FILE *f) = i_nungetc;
     int i = 0, j;
-    nkf_char buf[8];
+    nkf_char buf[10];
     long c = -1;
 
     buf[i] = (*g)(f);
Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 26902)
+++ ruby_1_8/ChangeLog	(revision 26903)
@@ -1,3 +1,8 @@
+Sat Mar 13 11:06:30 2010  Nobuyoshi Nakada  <nobu@r...>
+
+	* ext/nkf/nkf-utf8/nkf.c (numchar_getc): get rid of buffer
+	  overflow.  [ruby-dev:40606]
+
 Sat Mar 13 10:03:52 2010  Hidetoshi NAGAI  <nagai@a...>
 
 	* ext/tk/extconf.rb: fix [Bug #2840] Tk doesn't built in mingw.
Index: ruby_1_8/test/nkf/test_nkf.rb
===================================================================
--- ruby_1_8/test/nkf/test_nkf.rb	(revision 26902)
+++ ruby_1_8/test/nkf/test_nkf.rb	(revision 26903)
@@ -13,4 +13,9 @@
     assert_equal(::NKF::EUC, NKF.guess(str_euc))
   end
 
+  def test_numchar_input
+    bug2953 = '[ruby-dev:40606]'
+    assert_equal("A", NKF.nkf("-w --numchar-input", "&#x000041;"), bug2953)
+    assert_equal("B", NKF.nkf("-w --numchar-input", "&#0000066;"), bug2953)
+  end
 end

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]