Add and use OPENSSL_zalloc
[openssl.git] / crypto / asn1 / x_x509a.c
index d81ccfb62f2ca8037cb2f722b7f8c20289b15325..76608b669fc7f1307347f60801f8f94ec09a1e56 100644 (file)
@@ -62,6 +62,7 @@
 #include <openssl/evp.h>
 #include <openssl/asn1t.h>
 #include <openssl/x509.h>
+#include "internal/x509_int.h"
 
 /*
  * X509_CERT_AUX routines. These are used to encode additional user
@@ -172,11 +173,14 @@ int X509_add1_reject_object(X509 *x, ASN1_OBJECT *obj)
     if ((objtmp = OBJ_dup(obj)) == NULL)
         return 0;
     if ((aux = aux_get(x)) == NULL)
-        return 0;
+        goto err;
     if (aux->reject == NULL
         && (aux->reject = sk_ASN1_OBJECT_new_null()) == NULL)
-        return 0;
+        goto err;
     return sk_ASN1_OBJECT_push(aux->reject, objtmp);
+ err:
+    ASN1_OBJECT_free(objtmp);
+    return 0;
 }
 
 void X509_trust_clear(X509 *x)