From 0bc9ea00ac91b82c6fb1430fbc4b5c84b5ed818f Mon Sep 17 00:00:00 2001 From: Jorge Martins Date: Thu, 27 Jul 2023 10:40:29 +0200 Subject: [PATCH] TLV: raise error when length = 0 --- src_features/provideDomainName/cmd_provide_domain_name.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src_features/provideDomainName/cmd_provide_domain_name.c b/src_features/provideDomainName/cmd_provide_domain_name.c index 8cd974b..e1d14a4 100644 --- a/src_features/provideDomainName/cmd_provide_domain_name.c +++ b/src_features/provideDomainName/cmd_provide_domain_name.c @@ -479,7 +479,7 @@ static bool parse_der_value(const s_tlv_payload *payload, size_t *offset, uint32 if ((*offset + byte_length) > payload->size) { PRINTF("TLV payload too small for DER encoded value\n"); } else { - if (byte_length > sizeof(buf)) { + if (byte_length > sizeof(buf) || byte_length == 0) { PRINTF("Unexpectedly long DER-encoded value (%u bytes)\n", byte_length); } else { memset(buf, 0, (sizeof(buf) - byte_length));