fix for previous incorrect fix of cancellation in dns lookups
uninitialized file descriptor was being closed on return, causing stdin to be closed in many cases.
This commit is contained in:
parent
f96eb335e1
commit
56ddcc7208
1 changed files with 4 additions and 3 deletions
|
|
@ -89,12 +89,13 @@ 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);
|
||||
|
||||
pthread_cleanup_push(cleanup, (void *)(intptr_t)fd);
|
||||
pthread_setcancelstate(cs, 0);
|
||||
|
||||
if (bind(fd, (void *)&sa, sl) < 0) {
|
||||
errcode = EAI_SYSTEM;
|
||||
goto out;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue