Deassert x509_policy_new()
authortb <tb@openbsd.org>
Fri, 28 Apr 2023 15:16:48 +0000 (15:16 +0000)
committertb <tb@openbsd.org>
Fri, 28 Apr 2023 15:16:48 +0000 (15:16 +0000)
Turn the check into an error which will make all callers error.

with beck
ok jsing

lib/libcrypto/x509/x509_policy.c

index 32ee4e9..c8f9447 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: x509_policy.c,v 1.16 2023/04/28 09:56:09 tb Exp $ */
+/*     $OpenBSD: x509_policy.c,v 1.17 2023/04/28 15:16:48 tb Exp $ */
 /*
  * Copyright (c) 2022, Google Inc.
  *
@@ -203,9 +203,10 @@ x509_policy_node_free(X509_POLICY_NODE *node)
 static X509_POLICY_NODE *
 x509_policy_node_new(const ASN1_OBJECT *policy)
 {
-       assert(!is_any_policy(policy));
-       X509_POLICY_NODE *node;
+       X509_POLICY_NODE *node = NULL;
 
+       if (is_any_policy(policy))
+               goto err;
        if ((node = calloc(1, sizeof(*node))) == NULL)
                goto err;
        if ((node->policy = OBJ_dup(policy)) == NULL)