[Cluster-devel] [PATCH 04/41] libcman: fix possible memory leak
Fabio M. Di Nitto
fdinitto at redhat.com
Wed Nov 23 10:15:23 UTC 2011
Spotted by Coverity Scan
Signed-off-by: Fabio M. Di Nitto <fdinitto at redhat.com>
---
:100644 100644 fbf5bf8... 5b015f0... M cman/lib/libcman.c
cman/lib/libcman.c | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/cman/lib/libcman.c b/cman/lib/libcman.c
index fbf5bf8..5b015f0 100644
--- a/cman/lib/libcman.c
+++ b/cman/lib/libcman.c
@@ -533,16 +533,24 @@ int cman_dispatch(cman_handle_t handle, int flags)
{
len = read(h->fd, bufptr+offset, header->length-offset);
if (len == 0) {
+ if (bufptr != buf)
+ free(bufptr);
errno = EHOSTDOWN;
return -1;
}
if (len < 0 &&
- (errno == EINTR || errno == EAGAIN))
+ (errno == EINTR || errno == EAGAIN)) {
+ if (bufptr != buf)
+ free(bufptr);
return 0;
+ }
- if (len < 0)
+ if (len < 0) {
+ if (bufptr != buf)
+ free(bufptr);
return -1;
+ }
offset += len;
}
--
1.7.4.4
More information about the Cluster-devel
mailing list