Likely a false positive ... but make sure that -1 can't be used as an

array index by splitting up a test.

Reported by:	Coverity
CID:		603941
MFC after:	1 week
This commit is contained in:
truckman 2016-05-16 01:30:32 +00:00
parent d05da56e54
commit c15c547aaa

View File

@ -135,10 +135,12 @@ again:
if (n > 0 && (statp->_flags & RES_F_EDNS0ERR) == 0 &&
(statp->options & (RES_USE_EDNS0|RES_USE_DNSSEC|RES_NSID))) {
n = res_nopt(statp, n, buf, sizeof(buf), anslen);
rdata = &buf[n];
if (n > 0 && (statp->options & RES_NSID) != 0U) {
n = res_nopt_rdata(statp, n, buf, sizeof(buf), rdata,
NS_OPT_NSID, 0, NULL);
if (n > 0) {
rdata = &buf[n];
if ((statp->options & RES_NSID) != 0U) {
n = res_nopt_rdata(statp, n, buf, sizeof(buf),
rdata, NS_OPT_NSID, 0, NULL);
}
}
}
#endif