Make Makefiles OSF-make-friendly.
[openssl.git] / crypto / asn1 / x_x509a.c
index 40f50514b6ac49c45514fb13d3078baf16926c3e..03a9c45aeb8ebeaee1558b47ff5cc9d98ebd9257 100644 (file)
@@ -1,5 +1,5 @@
 /* a_x509a.c */
-/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
  * project 1999.
  */
 /* ====================================================================
@@ -135,15 +135,26 @@ unsigned char *X509_keyid_get0(X509 *x, int *len)
 }
 
 int X509_add1_trust_object(X509 *x, ASN1_OBJECT *obj)
-{
+       {
        X509_CERT_AUX *aux;
-       ASN1_OBJECT *objtmp;
-       if(!(objtmp = OBJ_dup(obj))) return 0;
-       if(!(aux = aux_get(x))) return 0;
-       if(!aux->trust
-               && !(aux->trust = sk_ASN1_OBJECT_new_null())) return 0;
-       return sk_ASN1_OBJECT_push(aux->trust, objtmp);
-}
+       ASN1_OBJECT *objtmp = NULL;
+       if (obj)
+               {
+               objtmp = OBJ_dup(obj);
+               if (!objtmp)
+                       return 0;
+               }
+       if(!(aux = aux_get(x)))
+               goto err;
+       if(!aux->trust && !(aux->trust = sk_ASN1_OBJECT_new_null()))
+                       goto err;
+       if (!objtmp || sk_ASN1_OBJECT_push(aux->trust, objtmp))
+               return 1;
+       err:
+       if (objtmp)
+               ASN1_OBJECT_free(objtmp);
+       return 0;
+       }
 
 int X509_add1_reject_object(X509 *x, ASN1_OBJECT *obj)
 {
@@ -175,6 +186,6 @@ void X509_reject_clear(X509 *x)
 ASN1_SEQUENCE(X509_CERT_PAIR) = {
        ASN1_EXP_OPT(X509_CERT_PAIR, forward, X509, 0),
        ASN1_EXP_OPT(X509_CERT_PAIR, reverse, X509, 1)
-} ASN1_SEQUENCE_END(X509_CERT_PAIR);
+} ASN1_SEQUENCE_END(X509_CERT_PAIR)
 
 IMPLEMENT_ASN1_FUNCTIONS(X509_CERT_PAIR)