[PATCH 1/1] inet: fix unsafe access to _res.options in res_mkquery()
Vanya Sergeev
vsergeev at gmail.com
Sat Jun 8 22:49:45 UTC 2013
res_mkquery() takes out __resolv_lock to copy _res.options to function local
_res_options on line 4204, but later unsafely accesses _res.options without a
lock, instead of its local copy _res_options, on line 4221. Looks like a
period / underscore typo.
Signed-off-by: Vanya Sergeev <vsergeev at gmail.com>
---
libc/inet/resolv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c
index ffd3fe8..8546b27 100644
--- a/libc/inet/resolv.c
+++ b/libc/inet/resolv.c
@@ -4218,7 +4218,7 @@ int res_mkquery(int op, const char *dname, int class, int type,
hp = (HEADER *) buf;
hp->id = getpid() & 0xffff;
hp->opcode = op;
- hp->rd = (_res.options & RES_RECURSE) != 0U;
+ hp->rd = (_res_options & RES_RECURSE) != 0U;
hp->rcode = NOERROR;
cp = buf + HFIXEDSZ;
--
1.8.3
More information about the uClibc
mailing list