aboutsummaryrefslogtreecommitdiffstats
path: root/ext/openssl/ossl_bio.h
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2017-07-06 09:21:36 +0900
committerKazuki Yamaguchi <k@rhe.jp>2017-07-11 13:20:24 +0900
commit3af2635f117f8da563d180bc1c58702aecb16e0c (patch)
tree14e6b96336f2aa7afbc4411c0beccd5ffa48bbda /ext/openssl/ossl_bio.h
parent261353a42d0dc0e7bf73e5a8fb8ecffd04249d42 (diff)
downloadruby-openssl-3af2635f117f8da563d180bc1c58702aecb16e0c.tar.gz
bio: prevent possible GC issue in ossl_obj2bio()
Prevent the new object created by StringValue() from being GCed. Luckily, as none of the callers of ossl_obj2bio() reads from the returned BIO after possible triggering GC, this has not been a real problem. As a bonus, ossl_protect_obj2bio() function which is no longer used anywhere is removed.
Diffstat (limited to 'ext/openssl/ossl_bio.h')
-rw-r--r--ext/openssl/ossl_bio.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/ext/openssl/ossl_bio.h b/ext/openssl/ossl_bio.h
index 1705d0ac..2c3d952b 100644
--- a/ext/openssl/ossl_bio.h
+++ b/ext/openssl/ossl_bio.h
@@ -10,8 +10,7 @@
#if !defined(_OSSL_BIO_H_)
#define _OSSL_BIO_H_
-BIO *ossl_obj2bio(VALUE);
-BIO *ossl_protect_obj2bio(VALUE,int*);
+BIO *ossl_obj2bio(volatile VALUE *);
VALUE ossl_membio2str0(BIO*);
VALUE ossl_membio2str(BIO*);
VALUE ossl_protect_membio2str(BIO*,int*);