aboutsummaryrefslogtreecommitdiffstats
path: root/ext/openssl/ossl_x509revoked.c
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2016-12-12 20:40:36 +0900
committerKazuki Yamaguchi <k@rhe.jp>2017-07-23 13:32:35 +0900
commitf61af664ecf4fd74ef0adc1138bc09455e89199f (patch)
treeebfdf069e93dd582d12d4951e26845a755822177 /ext/openssl/ossl_x509revoked.c
parente61502fb82084937160f4ffa0bda89f4c6788d6d (diff)
downloadruby-openssl-f61af664ecf4fd74ef0adc1138bc09455e89199f.tar.gz
asn1: disallow NULL to be passed to asn1time_to_time()
Let the callers check the validity of the ASN1_TIME.
Diffstat (limited to 'ext/openssl/ossl_x509revoked.c')
-rw-r--r--ext/openssl/ossl_x509revoked.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/openssl/ossl_x509revoked.c b/ext/openssl/ossl_x509revoked.c
index 303a3e70..85489efd 100644
--- a/ext/openssl/ossl_x509revoked.c
+++ b/ext/openssl/ossl_x509revoked.c
@@ -155,10 +155,14 @@ static VALUE
ossl_x509revoked_get_time(VALUE self)
{
X509_REVOKED *rev;
+ const ASN1_TIME *time;
GetX509Rev(self, rev);
+ time = X509_REVOKED_get0_revocationDate(rev);
+ if (!time)
+ return Qnil;
- return asn1time_to_time(X509_REVOKED_get0_revocationDate(rev));
+ return asn1time_to_time(time);
}
static VALUE