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

ruby-changes:17788

From: mame <ko1@a...>
Date: Mon, 15 Nov 2010 23:44:25 +0900 (JST)
Subject: [ruby-changes:17788] Ruby:r29799 (trunk): * compile.c (iseq_set_exception_local_table, iseq_set_local_table,

mame	2010-11-15 23:44:19 +0900 (Mon, 15 Nov 2010)

  New Revision: 29799

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

  Log:
    * compile.c (iseq_set_exception_local_table, iseq_set_local_table,
      rb_iseq_build_from_ary): fix type inconsistency (which is benign
      because sizeof(ID) == sizeof(ID*), though).  Coverity Scan found
      these bugs.

  Modified files:
    trunk/ChangeLog
    trunk/compile.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 29798)
+++ ChangeLog	(revision 29799)
@@ -1,3 +1,10 @@
+Mon Nov 15 23:41:21 2010  Yusuke Endoh  <mame@t...>
+
+	* compile.c (iseq_set_exception_local_table, iseq_set_local_table,
+	  rb_iseq_build_from_ary): fix type inconsistency (which is benign
+	  because sizeof(ID) == sizeof(ID*), though).  Coverity Scan found
+	  these bugs.
+
 Mon Nov 15 22:47:27 2010  Yusuke Endoh  <mame@t...>
 
 	* vm_eval.c (rb_funcall): ensure va_end after va_init_list.  Coverity
Index: compile.c
===================================================================
--- compile.c	(revision 29798)
+++ compile.c	(revision 29799)
@@ -980,7 +980,7 @@
     ID id_dollar_bang;
 
     CONST_ID(id_dollar_bang, "#$!");
-    iseq->local_table = (ID *)ALLOC_N(ID *, 1);
+    iseq->local_table = (ID *)ALLOC_N(ID, 1);
     iseq->local_table_size = 1;
     iseq->local_size = iseq->local_table_size + 1;
     iseq->local_table[0] = id_dollar_bang;
@@ -1199,8 +1199,8 @@
     }
 
     if (size > 0) {
-	iseq->local_table = (ID *)ALLOC_N(ID *, size);
-	MEMCPY(iseq->local_table, tbl, ID *, size);
+	iseq->local_table = (ID *)ALLOC_N(ID, size);
+	MEMCPY(iseq->local_table, tbl, ID, size);
     }
 
     iseq->local_size = iseq->local_table_size = size;
@@ -5372,7 +5372,7 @@
     INIT_ANCHOR(anchor);
 
     iseq->local_table_size = RARRAY_LENINT(locals);
-    iseq->local_table = tbl = (ID *)ALLOC_N(ID *, iseq->local_table_size);
+    iseq->local_table = tbl = (ID *)ALLOC_N(ID, iseq->local_table_size);
     iseq->local_size = iseq->local_table_size + 1;
 
     for (i=0; i<RARRAY_LEN(locals); i++) {

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

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