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:
Don Lewis 2016-05-16 01:30:32 +00:00
parent 1dcace5ba0
commit 0abffcb5f8

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