diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2001-01-20 13:38:45 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2001-01-20 13:38:45 +0000 |
commit | ba8e28248f37d0b77742f9f200fcdf8d54d7d8b4 (patch) | |
tree | 08b16772acd289245fbb072574a6ac7b74193ada /crypto/x509 | |
parent | bfcec27d61a333ec853237dcf28cf77c7285be1f (diff) | |
download | openssl-ba8e28248f37d0b77742f9f200fcdf8d54d7d8b4.tar.gz |
Fix to stop X509_time_adj() using GeneralizedTime.
Diffstat (limited to 'crypto/x509')
-rw-r--r-- | crypto/x509/x509_vfy.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/crypto/x509/x509_vfy.c b/crypto/x509/x509_vfy.c index 32515cbcc4..73eecd6ee4 100644 --- a/crypto/x509/x509_vfy.c +++ b/crypto/x509/x509_vfy.c @@ -645,14 +645,16 @@ ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long adj) ASN1_TIME *X509_time_adj(ASN1_TIME *s, long adj, time_t *in_tm) { time_t t; + int type = -1; if (in_tm) t = *in_tm; else time(&t); t+=adj; - if (!s) return ASN1_TIME_set(s, t); - if (s->type == V_ASN1_UTCTIME) return ASN1_UTCTIME_set(s,t); - return ASN1_GENERALIZEDTIME_set(s, t); + if (s) type = s->type; + if (type == V_ASN1_UTCTIME) return ASN1_UTCTIME_set(s,t); + if (type == V_ASN1_GENERALIZEDTIME) return ASN1_GENERALIZEDTIME_set(s, t); + return ASN1_TIME_set(s, t); } int X509_get_pubkey_parameters(EVP_PKEY *pkey, STACK_OF(X509) *chain) |