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

ruby-changes:5196

From: knu <ko1@a...>
Date: Fri, 30 May 2008 02:46:02 +0900 (JST)
Subject: [ruby-changes:5196] Ruby:r16691 (ruby_1_8_7): Merge from ruby_1_8.

knu	2008-05-30 02:45:47 +0900 (Fri, 30 May 2008)

  New Revision: 16691

  Modified files:
    branches/ruby_1_8_7/ChangeLog
    branches/ruby_1_8_7/ext/openssl/ossl_bn.c
    branches/ruby_1_8_7/ext/openssl/ossl_pkey_dh.c
    branches/ruby_1_8_7/ext/openssl/ossl_pkey_dsa.c
    branches/ruby_1_8_7/ext/openssl/ossl_rand.c
    branches/ruby_1_8_7/ext/openssl/ossl_x509store.c

  Log:
    Merge from ruby_1_8.

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_7/ext/openssl/ossl_pkey_dsa.c?r1=16691&r2=16690&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_7/ChangeLog?r1=16691&r2=16690&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_7/ext/openssl/ossl_rand.c?r1=16691&r2=16690&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_7/ext/openssl/ossl_x509store.c?r1=16691&r2=16690&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_7/ext/openssl/ossl_pkey_dh.c?r1=16691&r2=16690&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_7/ext/openssl/ossl_bn.c?r1=16691&r2=16690&diff_format=u

Index: ruby_1_8_7/ext/openssl/ossl_pkey_dsa.c
===================================================================
--- ruby_1_8_7/ext/openssl/ossl_pkey_dsa.c	(revision 16690)
+++ ruby_1_8_7/ext/openssl/ossl_pkey_dsa.c	(revision 16691)
@@ -110,7 +110,7 @@
 static VALUE
 ossl_dsa_s_generate(VALUE klass, VALUE size)
 {
-    DSA *dsa = dsa_generate(FIX2INT(size)); /* err handled by dsa_instance */
+    DSA *dsa = dsa_generate(NUM2INT(size)); /* err handled by dsa_instance */
     VALUE obj = dsa_instance(klass, dsa);
 
     if (obj == Qfalse) {
Index: ruby_1_8_7/ext/openssl/ossl_x509store.c
===================================================================
--- ruby_1_8_7/ext/openssl/ossl_x509store.c	(revision 16690)
+++ ruby_1_8_7/ext/openssl/ossl_x509store.c	(revision 16691)
@@ -458,7 +458,7 @@
     X509_STORE_CTX *ctx;
 
     GetX509StCtx(self, ctx);
-    X509_STORE_CTX_set_error(ctx, FIX2INT(err));
+    X509_STORE_CTX_set_error(ctx, NUM2INT(err));
 
     return err;
 }
Index: ruby_1_8_7/ext/openssl/ossl_bn.c
===================================================================
--- ruby_1_8_7/ext/openssl/ossl_bn.c	(revision 16690)
+++ ruby_1_8_7/ext/openssl/ossl_bn.c	(revision 16691)
@@ -515,7 +515,7 @@
 	    bottom = (odd == Qtrue) ? 1 : 0;			\
 	    /* FALLTHROUGH */					\
 	case 2:							\
-	    top = FIX2INT(fill);				\
+	    top = NUM2INT(fill);				\
 	}							\
 	b = NUM2INT(bits);					\
 	if (!(result = BN_new())) {				\
Index: ruby_1_8_7/ext/openssl/ossl_pkey_dh.c
===================================================================
--- ruby_1_8_7/ext/openssl/ossl_pkey_dh.c	(revision 16690)
+++ ruby_1_8_7/ext/openssl/ossl_pkey_dh.c	(revision 16691)
@@ -116,9 +116,9 @@
     VALUE size, gen, obj;
 	
     if (rb_scan_args(argc, argv, "11", &size, &gen) == 2) {
-	g = FIX2INT(gen);
+	g = NUM2INT(gen);
     }
-    dh = dh_generate(FIX2INT(size), g);
+    dh = dh_generate(NUM2INT(size), g);
     obj = dh_instance(klass, dh);
     if (obj == Qfalse) {
 	DH_free(dh);
@@ -158,7 +158,7 @@
     }
     else if (FIXNUM_P(arg)) {
 	if (!NIL_P(gen)) {
-	    g = FIX2INT(gen);
+	    g = NUM2INT(gen);
 	}
 	if (!(dh = dh_generate(FIX2INT(arg), g))) {
 	    ossl_raise(eDHError, NULL);
Index: ruby_1_8_7/ext/openssl/ossl_rand.c
===================================================================
--- ruby_1_8_7/ext/openssl/ossl_rand.c	(revision 16690)
+++ ruby_1_8_7/ext/openssl/ossl_rand.c	(revision 16691)
@@ -96,9 +96,10 @@
 ossl_rand_bytes(VALUE self, VALUE len)
 {
     VALUE str;
-	
-    str = rb_str_new(0, FIX2INT(len));
-    if (!RAND_bytes(RSTRING_PTR(str), FIX2INT(len))) {
+    long n = NUM2INT(len);
+
+    str = rb_str_new(0, n);
+    if (!RAND_bytes(RSTRING_PTR(str), n)) {
 	ossl_raise(eRandomError, NULL);
     }
 
@@ -114,9 +115,10 @@
 ossl_rand_pseudo_bytes(VALUE self, VALUE len)
 {
     VALUE str;
+    long n = NUM2INT(len);
 
-    str = rb_str_new(0, FIX2INT(len));
-    if (!RAND_pseudo_bytes(RSTRING_PTR(str), FIX2INT(len))) {
+    str = rb_str_new(0, n);
+    if (!RAND_pseudo_bytes(RSTRING_PTR(str), n)) {
 	ossl_raise(eRandomError, NULL);
     }
 
@@ -147,9 +149,11 @@
 static VALUE
 ossl_rand_egd_bytes(VALUE self, VALUE filename, VALUE len)
 {
+    long n = NUM2INT(len);
+
     SafeStringValue(filename);
 
-    if (!RAND_egd_bytes(RSTRING_PTR(filename), FIX2INT(len))) {
+    if (!RAND_egd_bytes(RSTRING_PTR(filename), n)) {
 	ossl_raise(eRandomError, NULL);
     }
     return Qtrue;
Index: ruby_1_8_7/ChangeLog
===================================================================
--- ruby_1_8_7/ChangeLog	(revision 16690)
+++ ruby_1_8_7/ChangeLog	(revision 16691)
@@ -1,3 +1,15 @@
+Fri May 30 02:35:00 2008  Akinori MUSHA  <knu@i...>
+
+	* ext/openssl/ossl_bn.c (ossl_bn_s_rand, ossl_bn_s_pseudo_rand),
+	  ext/openssl/ossl_pkey_dh.c (ossl_dh_s_generate)
+	  (ossl_dh_initialize),
+	  ext/openssl/ossl_pkey_dsa.c (ossl_dsa_s_generate),
+	  ext/openssl/ossl_rand.c (ossl_rand_bytes)
+	  (ossl_rand_pseudo_bytes, ossl_rand_egd_bytes),
+	  ext/openssl/ossl_x509store.c (ossl_x509stctx_set_error): Do not
+	  use FIX2INT() without checking the value type.  Use NUM2INT()
+	  instead; found by akr in [ruby-dev:34890].
+
 Thu May 29 20:07:45 2008  Akinori MUSHA  <knu@i...>
 
 	* configure.in, win32/Makefile.sub, mkconfig.rb, instruby.rb,

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

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