r_res = &resolution->response;
/* query id */
- if (reader + 2 >= bufend)
+ if (reader + 2 > bufend)
goto invalid_resp;
r_res->header.id = reader[0] * 256 + reader[1];
* - truncated (1 bit)
* - recursion desired (1 bit)
*/
- if (reader + 2 >= bufend)
+ if (reader + 2 > bufend)
goto invalid_resp;
flags = reader[0] * 256 + reader[1];
reader += 2;
/* 2 bytes for question count */
- if (reader + 2 >= bufend)
+ if (reader + 2 > bufend)
goto invalid_resp;
r_res->header.qdcount = reader[0] * 256 + reader[1];
/* (for now) we send one query only, so we expect only one in the
reader += 2;
/* 2 bytes for answer count */
- if (reader + 2 >= bufend)
+ if (reader + 2 > bufend)
goto invalid_resp;
r_res->header.ancount = reader[0] * 256 + reader[1];
if (r_res->header.ancount == 0) {
reader += 2;
/* 2 bytes authority count */
- if (reader + 2 >= bufend)
+ if (reader + 2 > bufend)
goto invalid_resp;
r_res->header.nscount = reader[0] * 256 + reader[1];
reader += 2;
/* 2 bytes additional count */
- if (reader + 2 >= bufend)
+ if (reader + 2 > bufend)
goto invalid_resp;
r_res->header.arcount = reader[0] * 256 + reader[1];
reader += 2;
previous_dname = query->name;
/* move forward 2 bytes for question type */
- if (reader + 2 >= bufend)
+ if (reader + 2 > bufend)
goto invalid_resp;
query->type = reader[0] * 256 + reader[1];
reader += 2;
/* move forward 2 bytes for question class */
- if (reader + 2 >= bufend)
+ if (reader + 2 > bufend)
goto invalid_resp;
query->class = reader[0] * 256 + reader[1];
reader += 2;