diff --git a/examples/dns.c b/examples/dns.c index c2fc59d336bdf84d5ce74ab8a3f5d32363834244..81afa7cb1266cda0c5c0a142574ff14d1a179561 100644 --- a/examples/dns.c +++ b/examples/dns.c @@ -21,17 +21,16 @@ bool validate_label(parse_result_t *p) { /** * Every DNS message should have QDCOUNT entries in the question * section, and ANCOUNT+NSCOUNT+ARCOUNT resource records. - * */ bool validate_dns(parse_result_t *p) { if (TT_SEQUENCE != p->ast->token_type) return false; // The header holds the counts as its last 4 elements. - parsed_token_t *header = p->ast->seq->elements[0]; - size_t qd = header->seq->elements[8]->uint; - size_t an = header->seq->elements[9]->uint; - size_t ns = header->seq->elements[10]->uint; - size_t ar = header->seq->elements[11]->uint; + parsed_token_t **elems = p->ast->seq->elements[0]->seq->elements; + size_t qd = elems[8]->uint; + size_t an = elems[9]->uint; + size_t ns = elems[10]->uint; + size_t ar = elems[11]->uint; parsed_token_t *questions = p->ast->seq->elements[1]; if (questions->seq->used != qd) return false;