From a0e7c8eede26b29b09057f48b8e51f46f8811ddd Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Sun, 5 Dec 2004 01:03:15 +0000 Subject: Add lots of checks for memory allocation failure, error codes to indicate failure and freeing up memory if a failure occurs. PR:620 --- crypto/asn1/a_utctm.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'crypto/asn1/a_utctm.c') diff --git a/crypto/asn1/a_utctm.c b/crypto/asn1/a_utctm.c index fea6590322..efebc63a02 100644 --- a/crypto/asn1/a_utctm.c +++ b/crypto/asn1/a_utctm.c @@ -173,8 +173,9 @@ int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str) { if (s != NULL) { - ASN1_STRING_set((ASN1_STRING *)s, - (unsigned char *)str,t.length); + if (!ASN1_STRING_set((ASN1_STRING *)s, + (unsigned char *)str,t.length)) + return 0; s->type = V_ASN1_UTCTIME; } return(1); @@ -203,7 +204,12 @@ ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t) if ((p == NULL) || ((size_t)s->length < len)) { p=OPENSSL_malloc(len); - if (p == NULL) return(NULL); + if (p == NULL) + { + ASN1err(ASN1_F_ASN1_UTCTIME_SET,ERR_R_MALLOC_FAILURE); + return(NULL); + } + if (s->data != NULL) if (s->data != NULL) OPENSSL_free(s->data); s->data=(unsigned char *)p; -- cgit v1.2.3