mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 15:48:49 -05:00
Fix NTLM winbind support to pass the torture tests
Calling sclose() both in the child and the parent fools the socket leak detector into thinking it's been closed twice. Calling close() in the child instead overcomes this problem. It's not as portable as the sclose() macro, but this code is highly POSIX-specific, anyway.
This commit is contained in:
parent
9194e17003
commit
ded3638d97
@ -166,8 +166,8 @@ static CURLcode ntlm_wb_init(struct connectdata *conn, const char *userp)
|
||||
* child process
|
||||
*/
|
||||
|
||||
sclose(sockfds[0]);
|
||||
|
||||
/* Don't use sclose in the child since it fools the socket leak detector */
|
||||
close(sockfds[0]);
|
||||
if(dup2(sockfds[1], STDIN_FILENO) == -1) {
|
||||
error = ERRNO;
|
||||
failf(conn->data, "Could not redirect child stdin. errno %d: %s",
|
||||
@ -197,7 +197,7 @@ static CURLcode ntlm_wb_init(struct connectdata *conn, const char *userp)
|
||||
NULL);
|
||||
|
||||
error = ERRNO;
|
||||
sclose(sockfds[1]);
|
||||
close(sockfds[1]);
|
||||
failf(conn->data, "Could not execl(). errno %d: %s",
|
||||
error, Curl_strerror(conn, error));
|
||||
exit(1);
|
||||
|
Loading…
Reference in New Issue
Block a user