diff options
author | Clemens Lang <cllang@redhat.com> | 2023-05-24 13:12:54 +0200 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2023-05-29 14:54:57 +0200 |
commit | a14ed48e84093cb64fa33d360204b49f7738e16d (patch) | |
tree | b23967f20d0f96c453e72afee9f4c1ec977b8159 /crypto/rand/rand_lib.c | |
parent | 34d5cbc76972ed55d6faa357d1a28efc5d49aa2d (diff) |
x509: Handle ossl_policy_level_add_node errors
The invocation of ossl_policy_level_add_node in tree_calculate_user_set
did not have any error handling. Add it to prevent a memory leak for the
allocated extra policy data.
Also add error handling to sk_X509_POLICY_NODE_push to ensure that if
a new node was allocated, but could not be added to the stack, it is
freed correctly.
Fix error handling if tree->user_policies cannot be allocated by
returning 0, indicating failure, rather than 1.
Signed-off-by: Clemens Lang <cllang@redhat.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21040)
(cherry picked from commit 95a8aa6dc0e283b1560dd3258d2e9115c02659b1)
Diffstat (limited to 'crypto/rand/rand_lib.c')
0 files changed, 0 insertions, 0 deletions