[macruby-changes] [5034] MacRuby/trunk/ext/openssl/ossl_pkey.c

source_changes at macosforge.org source_changes at macosforge.org
Wed Dec 15 17:28:20 PST 2010


Revision: 5034
          http://trac.macosforge.org/projects/ruby/changeset/5034
Author:   watson1978 at gmail.com
Date:     2010-12-15 17:28:17 -0800 (Wed, 15 Dec 2010)
Log Message:
-----------
Fixed the Bus error within ossl_pkey_sign.

Test:
{{{
On MacRuby source directory:
$ cd test/test-mri/
$ macruby -r require_relative.rb test/rubygems/test_gem_package_tar_output.rb
}}}

Modified Paths:
--------------
    MacRuby/trunk/ext/openssl/ossl_pkey.c

Modified: MacRuby/trunk/ext/openssl/ossl_pkey.c
===================================================================
--- MacRuby/trunk/ext/openssl/ossl_pkey.c	2010-12-16 00:22:31 UTC (rev 5033)
+++ MacRuby/trunk/ext/openssl/ossl_pkey.c	2010-12-16 01:28:17 UTC (rev 5034)
@@ -174,8 +174,9 @@
     EVP_SignInit(&ctx, GetDigestPtr(digest));
     StringValue(data);
     EVP_SignUpdate(&ctx, RSTRING_PTR(data), RSTRING_LEN(data));
-    str = rb_str_new(0, EVP_PKEY_size(pkey)+16);
-    if (!EVP_SignFinal(&ctx, (unsigned char *)RSTRING_PTR(str), &buf_len, pkey))
+    str = rb_bstr_new();
+    rb_bstr_resize(str, EVP_PKEY_size(pkey)+16);
+    if (!EVP_SignFinal(&ctx, (unsigned char *)rb_bstr_bytes(str), &buf_len, pkey))
 	ossl_raise(ePKeyError, NULL);
     assert((long)buf_len <= RSTRING_LEN(str));
     rb_str_set_len(str, buf_len);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20101215/11ef2c00/attachment.html>


More information about the macruby-changes mailing list