summaryrefslogtreecommitdiffstats
path: root/ext/openssl/ossl_pkcs7.c
diff options
context:
space:
mode:
authornobu <nobu@ruby-lang.org>2008-07-22 15:34:23 +0000
committernobu <nobu@ruby-lang.org>2008-07-22 15:34:23 +0000
commit6b543384262820398b1675318fbd580fcf73737e (patch)
tree8c16cd54c1edd8d32c46f5e7b2201084d488534b /ext/openssl/ossl_pkcs7.c
parentf6a75eb4f712b9cab55cf0cad1a1a76d0255d710 (diff)
downloadruby-openssl-history-6b543384262820398b1675318fbd580fcf73737e.tar.gz
* ext/openssl: suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/openssl/ossl_pkcs7.c')
-rw-r--r--ext/openssl/ossl_pkcs7.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/ext/openssl/ossl_pkcs7.c b/ext/openssl/ossl_pkcs7.c
index 6918844..fe1ef7c 100644
--- a/ext/openssl/ossl_pkcs7.c
+++ b/ext/openssl/ossl_pkcs7.c
@@ -309,7 +309,7 @@ ossl_pkcs7_alloc(VALUE klass)
static VALUE
ossl_pkcs7_initialize(int argc, VALUE *argv, VALUE self)
{
- PKCS7 *p7;
+ PKCS7 *p7, *pkcs = DATA_PTR(self);
BIO *in;
VALUE arg;
@@ -317,10 +317,12 @@ ossl_pkcs7_initialize(int argc, VALUE *argv, VALUE self)
return self;
arg = ossl_to_der_if_possible(arg);
in = ossl_obj2bio(arg);
- p7 = PEM_read_bio_PKCS7(in, (PKCS7 **)&DATA_PTR(self), NULL, NULL);
+ p7 = PEM_read_bio_PKCS7(in, &pkcs, NULL, NULL);
+ DATA_PTR(self) = pkcs;
if (!p7) {
- BIO_reset(in);
- p7 = d2i_PKCS7_bio(in, (PKCS7 **)&DATA_PTR(self));
+ (void)BIO_reset(in);
+ p7 = d2i_PKCS7_bio(in, &pkcs);
+ DATA_PTR(self) = pkcs;
}
BIO_free(in);
ossl_pkcs7_set_data(self, Qnil);
@@ -778,7 +780,7 @@ ossl_pkcs7_to_der(VALUE self)
if((len = i2d_PKCS7(pkcs7, NULL)) <= 0)
ossl_raise(ePKCS7Error, NULL);
str = rb_str_new(0, len);
- p = RSTRING_PTR(str);
+ p = (unsigned char *)RSTRING_PTR(str);
if(i2d_PKCS7(pkcs7, &p) <= 0)
ossl_raise(ePKCS7Error, NULL);
ossl_str_adjust(str, p);