[ovs-dev] [PATCH 2/4] ofp-print.c: fix memory leak at ofp_print_bundle_add()

William Tu u9012063 at gmail.com
Thu Dec 24 18:28:40 UTC 2015


Call ds_put_and_free_cstr instead of ds_put_cstr to free msg.
Reported by test cases: 325, 326
    ofp_print_bundle_add (ofp-print.c:3027)
    ofp_to_string__ (ofp-print.c:3410)
    ofp_to_string (ofp-print.c:3465)
    ofp_print (ofp-print.c:3497)
    ofctl_ofp_print (ovs-ofctl.c:3818)
    ovs_cmdl_run_command (command-line.c:121)
    main (ovs-ofctl.c:135)

Signed-off-by: William Tu <u9012063 at gmail.com>
Signed-off-by: Daniele Di Proietto <diproiettod at vmware.com>
Co-authored-by: Daniele Di Proietto <diproiettod at vmware.com>
---
 lib/ofp-print.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/ofp-print.c b/lib/ofp-print.c
index 930b01a..61287ec 100644
--- a/lib/ofp-print.c
+++ b/lib/ofp-print.c
@@ -3026,7 +3026,7 @@ ofp_print_bundle_add(struct ds *s, const struct ofp_header *oh, int verbosity)
     ds_put_char(s, '\n');
     msg = ofp_to_string(badd.msg, ntohs(badd.msg->length), verbosity);
     if (msg) {
-        ds_put_cstr(s, msg);
+        ds_put_and_free_cstr(s, msg);
     }
 }
 
-- 
2.5.0




More information about the dev mailing list