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/