diff options
author | Alan Coopersmith <alan.coopersmith@sun.com> | 2007-04-05 14:07:42 -0700 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@sun.com> | 2007-04-05 14:07:42 -0700 |
commit | c9b3d016681d81aff32c74cdad75151bd538e6ab (patch) | |
tree | 586efe6246433801110510669e2ee0e01c2b415d | |
parent | 6039e865470af23948b0fe7d5dc0ea72da436b0e (diff) |
Coverity #1085: Double free of pointer "*listenObjsRet"
If malloc failed in the loop in IceListenForConnections, the error path
would free all previous allocations, then loop around and try again, and
if it failed again, free the previous allocations again. On the other
hand, if it succeeded on the later tries, then the memory would just be
leaked, since the error would be returned and not the pointer to them.
-rw-r--r-- | src/listen.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/listen.c b/src/listen.c index 7708cfe..9875f30 100644 --- a/src/listen.c +++ b/src/listen.c @@ -123,8 +123,10 @@ char *errorStringRet; free ((char *) (*listenObjsRet)[j]); free ((char *) *listenObjsRet); + *listenObjsRet = NULL; status = 0; + break; } else { |