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

ruby-changes:25939

From: ngoto <ko1@a...>
Date: Thu, 29 Nov 2012 22:56:20 +0900 (JST)
Subject: [ruby-changes:25939] ngoto:r37996 (trunk): * ext/openssl/ossl_ssl.c (ssl_npn_encode_protocol_i): fix byte order

ngoto	2012-11-29 22:54:02 +0900 (Thu, 29 Nov 2012)

  New Revision: 37996

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

  Log:
    * ext/openssl/ossl_ssl.c (ssl_npn_encode_protocol_i): fix byte order
      issue on big-endian architecture [ruby-core:50292] [Bug #7463]

  Modified files:
    trunk/ChangeLog
    trunk/ext/openssl/ossl_ssl.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 37995)
+++ ChangeLog	(revision 37996)
@@ -1,3 +1,8 @@
+Thu Nov 29 22:39:35 2012  Naohisa Goto  <ngotogenome@g...>
+
+	* ext/openssl/ossl_ssl.c (ssl_npn_encode_protocol_i): fix byte order
+	  issue on big-endian architecture [ruby-core:50292] [Bug #7463]
+
 Thu Nov 29 22:23:31 2012  Hiroshi Nakamura  <nahi@r...>
 
 	* test/openssl/test_cipher.rb (test_ctr_if_exists): add CTR mode test
Index: ext/openssl/ossl_ssl.c
===================================================================
--- ext/openssl/ossl_ssl.c	(revision 37995)
+++ ext/openssl/ossl_ssl.c	(revision 37996)
@@ -569,10 +569,12 @@
 ssl_npn_encode_protocol_i(VALUE cur, VALUE encoded)
 {
     int len = RSTRING_LENINT(cur);
+    char len_byte;
     if (len < 1 || len > 255)
 	ossl_raise(eSSLError, "Advertised protocol must have length 1..255");
     /* Encode the length byte */
-    rb_str_buf_cat(encoded, (const char *) &len, 1);
+    len_byte = len;
+    rb_str_buf_cat(encoded, &len_byte, 1);
     rb_str_buf_cat(encoded, RSTRING_PTR(cur), len);
     return Qnil;
 }

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

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