diff options
author | Dr. David von Oheimb <David.von.Oheimb@siemens.com> | 2020-06-26 16:16:56 +0200 |
---|---|---|
committer | Dr. David von Oheimb <David.von.Oheimb@siemens.com> | 2020-08-04 09:17:47 +0200 |
commit | b516a4b1399328ed2177e6bc5f717416a7d03806 (patch) | |
tree | abfa71f4475ca9c70f8803db17c991346f8c3c10 /crypto | |
parent | 8f7e897995ae49546ab94a6969e85d797ac6c486 (diff) | |
download | openssl-new-b516a4b1399328ed2177e6bc5f717416a7d03806.tar.gz |
Correct misleading diagnostics of OBJ_txt2obj on unknown object name
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/12296)
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/err/openssl.txt | 1 | ||||
-rw-r--r-- | crypto/objects/obj_dat.c | 4 | ||||
-rw-r--r-- | crypto/objects/obj_err.c | 4 |
3 files changed, 8 insertions, 1 deletions
diff --git a/crypto/err/openssl.txt b/crypto/err/openssl.txt index 1b4fca9b97..1fa0df36b1 100644 --- a/crypto/err/openssl.txt +++ b/crypto/err/openssl.txt @@ -2668,6 +2668,7 @@ KDF_R_VALUE_MISSING:102:value missing KDF_R_WRONG_OUTPUT_BUFFER_SIZE:112:wrong output buffer size OBJ_R_OID_EXISTS:102:oid exists OBJ_R_UNKNOWN_NID:101:unknown nid +OBJ_R_UNKNOWN_OBJECT_NAME:103:unknown object name OCSP_R_CERTIFICATE_VERIFY_ERROR:101:certificate verify error OCSP_R_DIGEST_ERR:102:digest err OCSP_R_ERROR_IN_NEXTUPDATE_FIELD:122:error in nextupdate field diff --git a/crypto/objects/obj_dat.c b/crypto/objects/obj_dat.c index 0c4ec985cb..b2fd4a0226 100644 --- a/crypto/objects/obj_dat.c +++ b/crypto/objects/obj_dat.c @@ -372,6 +372,10 @@ ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name) if (((nid = OBJ_sn2nid(s)) != NID_undef) || ((nid = OBJ_ln2nid(s)) != NID_undef)) return OBJ_nid2obj(nid); + if (!ossl_isdigit(*s)) { + OBJerr(OBJ_F_OBJ_TXT2OBJ, OBJ_R_UNKNOWN_OBJECT_NAME); + return NULL; + } } /* Work out size of content octets */ diff --git a/crypto/objects/obj_err.c b/crypto/objects/obj_err.c index b32e9f6f55..c55e8ef2d0 100644 --- a/crypto/objects/obj_err.c +++ b/crypto/objects/obj_err.c @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -16,6 +16,8 @@ static const ERR_STRING_DATA OBJ_str_reasons[] = { {ERR_PACK(ERR_LIB_OBJ, 0, OBJ_R_OID_EXISTS), "oid exists"}, {ERR_PACK(ERR_LIB_OBJ, 0, OBJ_R_UNKNOWN_NID), "unknown nid"}, + {ERR_PACK(ERR_LIB_OBJ, 0, OBJ_R_UNKNOWN_OBJECT_NAME), + "unknown object name"}, {0, NULL} }; |