From 0ee6da55a6e2dfe77afdb24df20277555be53bb8 Mon Sep 17 00:00:00 2001 From: Don Lewis Date: Mon, 16 May 2016 01:38:24 +0000 Subject: Since rdata is only used as an argument to the immediately following call to res_nopt_rdata(), revert r299879 and fix CID 603941 by moving rdata = &buf[n]; inside the if block. Reported by: Coverity CID: 603941 --- lib/libc/resolv/res_query.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/libc/resolv/res_query.c b/lib/libc/resolv/res_query.c index 9731638a7f29..c3c6313730f4 100644 --- a/lib/libc/resolv/res_query.c +++ b/lib/libc/resolv/res_query.c @@ -135,12 +135,10 @@ 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); - if (n > 0) { + if (n > 0 && (statp->options & RES_NSID) != 0U) { rdata = &buf[n]; - if ((statp->options & RES_NSID) != 0U) { - n = res_nopt_rdata(statp, n, buf, sizeof(buf), - rdata, NS_OPT_NSID, 0, NULL); - } + n = res_nopt_rdata(statp, n, buf, sizeof(buf), rdata, + NS_OPT_NSID, 0, NULL); } } #endif -- cgit v1.2.3