tests: net: dns: Add test for invalid DNS answer parsing
Make sure we catch invalid answer during parsing. Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
This commit is contained in:
parent
6e7fcff579
commit
16669ec4d5
1 changed files with 21 additions and 0 deletions
|
@ -1266,6 +1266,27 @@ ZTEST(dns_packet, test_dns_flags_len)
|
||||||
"DNS message length check failed (%d)", ret);
|
"DNS message length check failed (%d)", ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static uint8_t invalid_answer_resp_ipv4[18] = {
|
||||||
|
/* DNS msg header (12 bytes) */
|
||||||
|
0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x01, 0x00, 0x01,
|
||||||
|
};
|
||||||
|
|
||||||
|
ZTEST(dns_packet, test_dns_invalid_answer)
|
||||||
|
{
|
||||||
|
struct dns_msg_t dns_msg = { 0 };
|
||||||
|
enum dns_rr_type type;
|
||||||
|
uint32_t ttl;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
dns_msg.msg = invalid_answer_resp_ipv4;
|
||||||
|
dns_msg.msg_size = sizeof(invalid_answer_resp_ipv4);
|
||||||
|
dns_msg.answer_offset = 12;
|
||||||
|
|
||||||
|
ret = dns_unpack_answer(&dns_msg, 0, &ttl, &type);
|
||||||
|
zassert_equal(ret, -EINVAL, "DNS message answer check succeed (%d)", ret);
|
||||||
|
}
|
||||||
|
|
||||||
ZTEST_SUITE(dns_packet, NULL, NULL, NULL, NULL, NULL);
|
ZTEST_SUITE(dns_packet, NULL, NULL, NULL, NULL, NULL);
|
||||||
/* TODO:
|
/* TODO:
|
||||||
* 1) add malformed DNS data (mostly done)
|
* 1) add malformed DNS data (mostly done)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue