aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/x509
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2001-01-20 13:38:45 +0000
committerDr. Stephen Henson <steve@openssl.org>2001-01-20 13:38:45 +0000
commitba8e28248f37d0b77742f9f200fcdf8d54d7d8b4 (patch)
tree08b16772acd289245fbb072574a6ac7b74193ada /crypto/x509
parentbfcec27d61a333ec853237dcf28cf77c7285be1f (diff)
downloadopenssl-ba8e28248f37d0b77742f9f200fcdf8d54d7d8b4.tar.gz
Fix to stop X509_time_adj() using GeneralizedTime.
Diffstat (limited to 'crypto/x509')
-rw-r--r--crypto/x509/x509_vfy.c8
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)