Make hexpair_to_int take a char pointer

Signed-off-by: Agathiyan Bragadeesh <agathiyan.bragadeesh2@arm.com>
This commit is contained in:
Agathiyan Bragadeesh 2023-08-30 16:04:16 +01:00
parent e9d1c8e1eb
commit 1aece47e8c

@ -137,10 +137,11 @@ static int hex_to_int(char c)
('A' <= c && c <= 'F') ? (c - 'A' + 10) : -1; ('A' <= c && c <= 'F') ? (c - 'A' + 10) : -1;
} }
static int hexpair_to_int(char c1, char c2) static int hexpair_to_int(const char *hexpair)
{ {
int n1 = hex_to_int(c1); int n1 = hex_to_int(*hexpair);
int n2 = hex_to_int(c2); int n2 = hex_to_int(*(hexpair + 1));
if (n1 != -1 && n2 != -1) { if (n1 != -1 && n2 != -1) {
return (n1 << 4) | n2; return (n1 << 4) | n2;
} else { } else {
@ -164,7 +165,7 @@ static int parse_attribute_value_string(const char *s,
c++; c++;
/* Check for valid escaped characters as per RFC 4514 Section 3 */ /* Check for valid escaped characters as per RFC 4514 Section 3 */
if (c + 1 < end && (n = hexpair_to_int(*c, *(c+1))) != -1) { if (c + 1 < end && (n = hexpair_to_int(c)) != -1) {
if (n == 0) { if (n == 0) {
return MBEDTLS_ERR_X509_INVALID_NAME; return MBEDTLS_ERR_X509_INVALID_NAME;
} }
@ -209,13 +210,13 @@ static int parse_attribute_value_der_encoded(const char *s,
return MBEDTLS_ERR_X509_INVALID_NAME; return MBEDTLS_ERR_X509_INVALID_NAME;
} }
c++; c++;
if ((*tag = hexpair_to_int(*c, *(c+1))) == -1) { if ((*tag = hexpair_to_int(c)) == -1) {
return MBEDTLS_ERR_X509_INVALID_NAME; return MBEDTLS_ERR_X509_INVALID_NAME;
} }
c += 2; c += 2;
p = asn1_der_buf; p = asn1_der_buf;
for (p = asn1_der_buf; c < end; c += 2) { for (p = asn1_der_buf; c < end; c += 2) {
if ((c + 1 >= end) || (n = hexpair_to_int(*c, *(c+1))) == -1) { if ((c + 1 >= end) || (n = hexpair_to_int(c)) == -1) {
return MBEDTLS_ERR_X509_INVALID_NAME; return MBEDTLS_ERR_X509_INVALID_NAME;
} }
if (MBEDTLS_ASN1_IS_STRING_TAG(*tag) && n == 0) { if (MBEDTLS_ASN1_IS_STRING_TAG(*tag) && n == 0) {