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

ruby-changes:2381

From: ko1@a...
Date: 10 Nov 2007 23:53:47 +0900
Subject: [ruby-changes:2381] akr - Ruby:r13872 (trunk): * string.c (tr_trans): cast to unsigned char after dereference

akr	2007-11-10 23:53:26 +0900 (Sat, 10 Nov 2007)

  New Revision: 13872

  Modified files:
    trunk/ChangeLog
    trunk/string.c

  Log:
    * string.c (tr_trans): cast to unsigned char after dereference
      a pointer to a char to avoid SEGV with "\377".tr("a", "b").
      on FreeBSD/amd64.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/string.c?r1=13872&r2=13871
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=13872&r2=13871

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 13871)
+++ ChangeLog	(revision 13872)
@@ -1,3 +1,9 @@
+Sat Nov 10 23:50:31 2007  Tanaka Akira  <akr@f...>
+
+	* string.c (tr_trans): cast to unsigned char after dereference
+	  a pointer to a char to avoid SEGV with "\377".tr("a", "b").
+	  on FreeBSD/amd64.
+
 Sat Nov 10 23:08:53 2007  Tanaka Akira  <akr@f...>
 
 	* configure.in, common.mk, Makefile.in: don't generate
Index: string.c
===================================================================
--- string.c	(revision 13871)
+++ string.c	(revision 13872)
@@ -3475,7 +3475,7 @@
     }
     else if (rb_enc_mbmaxlen(enc) == 1) {
 	while (s < send) {
-	    c = *s;
+	    c = (unsigned char)*s;
 	    if (trans[c] >= 0) {
 		if (!cflag) {
 		    c = FIX2INT(trans[c]);

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

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