Fix rpcbind init after r300941.
- getaddrinfo() sets res = NULL on failure and freeaddrinfo() always dereferences its argument, so we should only free the address list after a successful call. - Address a second potential leak caused by getaddrinfo(AF_INET6) overwriting the address list returned by getaddrinfo(AF_INET). X-MFC-With: r300941
This commit is contained in:
parent
6180f50bbb
commit
5656b5057e
@ -338,6 +338,7 @@ network_init(void)
|
||||
exit(1);
|
||||
}
|
||||
memcpy(local_in4, res->ai_addr, sizeof *local_in4);
|
||||
freeaddrinfo(res);
|
||||
}
|
||||
|
||||
#ifdef INET6
|
||||
@ -354,6 +355,7 @@ network_init(void)
|
||||
exit(1);
|
||||
}
|
||||
memcpy(local_in6, res->ai_addr, sizeof *local_in6);
|
||||
freeaddrinfo(res);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -395,7 +397,6 @@ network_init(void)
|
||||
freeifaddrs(ifp);
|
||||
#endif
|
||||
|
||||
freeaddrinfo(res);
|
||||
/* close(s); */
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user