Skip to content

Commit

Permalink
tests: net: dns: Add test for invalid DNS answer parsing
Browse files Browse the repository at this point in the history
Make sure we catch invalid answer during parsing.

Signed-off-by: Jukka Rissanen <[email protected]>
(cherry picked from commit 16669ec)
  • Loading branch information
jukkar authored and github-actions[bot] committed Nov 28, 2024
1 parent 161806d commit a2af9cf
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions tests/net/lib/dns_packet/src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1266,6 +1266,27 @@ ZTEST(dns_packet, test_dns_flags_len)
"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);
/* TODO:
* 1) add malformed DNS data (mostly done)
Expand Down

0 comments on commit a2af9cf

Please sign in to comment.