summaryrefslogtreecommitdiffstats
path: root/crypto/objects
diff options
context:
space:
mode:
authorPeiwei Hu <jlu.hpw@foxmail.com>2022-01-05 23:17:53 +0800
committerPauli <ppzgs1@gmail.com>2022-01-07 21:11:37 +1100
commit10481d33844218694929a7bad57314411a33ab74 (patch)
tree19d04c743b55b29b73a97a91cfafde4a2e94f4d8 /crypto/objects
parent22778abad905536fa6c93cdc6fffc8c736dfee79 (diff)
Fix: some patches related to error exiting
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/17417)
Diffstat (limited to 'crypto/objects')
-rw-r--r--crypto/objects/obj_dat.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/crypto/objects/obj_dat.c b/crypto/objects/obj_dat.c
index eef80d63ce..26d2508e86 100644
--- a/crypto/objects/obj_dat.c
+++ b/crypto/objects/obj_dat.c
@@ -747,16 +747,17 @@ int OBJ_create(const char *oid, const char *sn, const char *ln)
if ((sn != NULL && OBJ_sn2nid(sn) != NID_undef)
|| (ln != NULL && OBJ_ln2nid(ln) != NID_undef)) {
ERR_raise(ERR_LIB_OBJ, OBJ_R_OID_EXISTS);
- goto err;
+ return 0;
}
/* Convert numerical OID string to an ASN1_OBJECT structure */
tmpoid = OBJ_txt2obj(oid, 1);
if (tmpoid == NULL)
- goto err;
+ return 0;
if (!ossl_obj_write_lock(1)) {
ERR_raise(ERR_LIB_OBJ, ERR_R_UNABLE_TO_GET_WRITE_LOCK);
+ ASN1_OBJECT_free(tmpoid);
return 0;
}