MFC r300620,r300621:
r300620: Use reallocf instead of malloc to fix leak with outbuf_pmap The previous code overwrote outbuf_pmap's memory with malloc once per loop iteration, which leaked its memory; use reallocf instead to ensure that memory is properly free'd each loop iteration. Add a outbuf_pmap = NULL in the failure case to avoid a double-free at the bottom of the function. CID: 1038776 r300621: Remove redundant NULLing of outbuf_pmap If reallocf ever failed, outbuf_pmap would already be NULL
This commit is contained in:
parent
1e9eae959c
commit
4d9deb28d5
@ -341,7 +341,8 @@ rpc_broadcast_exp(prog, vers, proc, xargs, argsp, xresults, resultsp,
|
||||
#ifdef PORTMAP
|
||||
if (si.si_af == AF_INET && si.si_proto == IPPROTO_UDP) {
|
||||
udpbufsz = fdlist[fdlistno].dsize;
|
||||
if ((outbuf_pmap = malloc(udpbufsz)) == NULL) {
|
||||
outbuf_pmap = reallocf(outbuf_pmap, udpbufsz);
|
||||
if (outbuf_pmap == NULL) {
|
||||
_close(fd);
|
||||
stat = RPC_SYSTEMERROR;
|
||||
goto done_broad;
|
||||
|
Loading…
x
Reference in New Issue
Block a user