[PATCH] dpif-netdev: Fix memory leak.

Ben Pfaff blp at nicira.com
Thu Aug 16 15:36:42 UTC 2012


upcall->packet is allocated with malloc(), via ofpbuf_new(), but nothing
ever frees it.

Found by valgrind.

CC: Ed Maste <emaste at freebsd.org>
Signed-off-by: Ben Pfaff <blp at nicira.com>
---
 lib/dpif-netdev.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index 7fa2720..63b59a3 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -966,6 +966,8 @@ dpif_netdev_recv(struct dpif *dpif, struct dpif_upcall *upcall,
 
         ofpbuf_uninit(buf);
         *buf = *upcall->packet;
+        free(upcall->packet);
+        upcall->packet = buf;
 
         return 0;
     } else {
-- 
1.7.2.5



More information about the dev mailing list