[ovs-dev] [PATCHv2 1/2] ofproto-dpif-xlate: Fix bad memory free.

William Tu u9012063 at gmail.com
Wed Nov 1 00:29:50 UTC 2017


Clang reports possibly bad free of 'ofm' when it comes from the stack
instead of malloc because Clang is not able to verify whether the previous
if condition 'ctx->xin->xcache' still hold the same.  Fix it by
adding additional condition.

Signed-off-by: William Tu <u9012063 at gmail.com>
---
 ofproto/ofproto-dpif-xlate.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
index d0b45d233e69..667960d70389 100644
--- a/ofproto/ofproto-dpif-xlate.c
+++ b/ofproto/ofproto-dpif-xlate.c
@@ -5131,7 +5131,7 @@ xlate_learn_action(struct xlate_ctx *ctx, const struct ofpact_learn *learn)
             }
         }
 
-        if (ctx->xin->xcache) {
+        if (ofm != &ofm__) {
             free(ofm);
         }
 
-- 
2.7.4



More information about the dev mailing list