projects
/
oweals
/
musl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
2230218
)
fix illegal goto out of cleanup context in dns lookups
author
Rich Felker
<dalias@aerifal.cx>
Sat, 11 Feb 2012 05:05:58 +0000
(
00:05
-0500)
committer
Rich Felker
<dalias@aerifal.cx>
Sat, 11 Feb 2012 05:05:58 +0000
(
00:05
-0500)
src/network/__dns.c
patch
|
blob
|
history
diff --git
a/src/network/__dns.c
b/src/network/__dns.c
index 8cd7d5d01ab5640f1e601b09904e12fa767413c8..45d9b438f6de009e12b767ab7ea2b0ea25dcd548 100644
(file)
--- a/
src/network/__dns.c
+++ b/
src/network/__dns.c
@@
-88,6
+88,9
@@
int __dns_doqueries(unsigned char *dest, const char *name, int *rr, int rrcnt)
sl = sizeof sa.sin;
}
+ pthread_cleanup_push(cleanup, (void *)(intptr_t)fd);
+ pthread_setcancelstate(cs, 0);
+
/* Get local address and open/bind a socket */
sa.sin.sin_family = family;
fd = socket(family, SOCK_DGRAM, 0);
@@
-101,9
+104,6
@@
int __dns_doqueries(unsigned char *dest, const char *name, int *rr, int rrcnt)
pfd.fd = fd;
pfd.events = POLLIN;
- pthread_cleanup_push(cleanup, (void *)(intptr_t)fd);
- pthread_setcancelstate(cs, 0);
-
/* Loop until we timeout; break early on success */
for (; time(0)-t0 < TIMEOUT; ) {