From: Dan Ben Yosef <[email protected]>

Call return without freeing the buffer.

Signed-off-by: Dan Ben Yosef <[email protected]>
Signed-off-by: Hal Rosenstock <[email protected]>
---
 src/ibtracert.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/ibtracert.c b/src/ibtracert.c
index 5800e40..cc0ac98 100644
--- a/src/ibtracert.c
+++ b/src/ibtracert.c
@@ -567,13 +567,15 @@ static Node *find_mcpath(ib_portid_t * from, int mlid)
                                        if (from->drpath.cnt > 0)
                                                path->drpath.cnt--;
                                } else {
-                                       if (!(port = calloc(1, sizeof(Port))))
+                                       if (!(port = calloc(1, sizeof(Port)))) {
                                                IBERROR("out of memory");
-
+                                               return 0;
+                                       }
                                        if (get_port(port, i, path) < 0) {
                                                IBWARN
                                                    ("can't reach node %s port 
%d",
                                                     portid2str(path), i);
+                                               free(port);
                                                return 0;
                                        }
 
@@ -585,8 +587,10 @@ static Node *find_mcpath(ib_portid_t * from, int mlid)
                                        link_port(port, node);
 #endif
 
-                                       if (extend_dpath(&path->drpath, i) < 0)
+                                       if (extend_dpath(&path->drpath, i) < 0) 
{
+                                               free(port);
                                                return 0;
+                                       }
                                }
 
                                if (!(remotenode = calloc(1, sizeof(Node))))
-- 
1.7.8.2

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to