[ovs-dev] [PATCH] ofproto-dpif-xlate: Fix VLOG_ERR_RL() call.

Joe Stringer joe at ovn.org
Fri Aug 12 00:54:08 UTC 2016


a716ef9a7a73 ("ofproto-dpif-xlate: Log flow in XLATE_REPORT_ERROR.")
inadvertantly broke build on clang due to improper passing of the ds
cstring into the VLOG() function:

error: format string is not a string literal
      (potentially insecure) [-Werror,-Wformat-security]
        XLATE_REPORT_ERROR(ctx, "over max translation depth %d", MAX_DEPTH);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
note: expanded from macro
      'XLATE_REPORT_ERROR'
            VLOG_ERR_RL(&error_report_rl, ds_cstr(&ds));        \

Reported-by: Daniele Di Proietto <diproiettod at vmware.com>
Signed-off-by: Joe Stringer <joe at ovn.org>
---
 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 1e375b58f195..f0a25011fc42 100644
--- a/ofproto/ofproto-dpif-xlate.c
+++ b/ofproto/ofproto-dpif-xlate.c
@@ -637,7 +637,7 @@ static struct vlog_rate_limit error_report_rl = VLOG_RATE_LIMIT_INIT(1, 5);
             ds_put_format(&ds, __VA_ARGS__);                    \
             ds_put_cstr(&ds, ": ");                             \
             flow_format(&ds, &ctx->base_flow);                  \
-            VLOG_ERR_RL(&error_report_rl, ds_cstr(&ds));        \
+            VLOG_ERR_RL(&error_report_rl, "%s", ds_cstr(&ds));  \
             ds_destroy(&ds);                                    \
         }                                                       \
     } while (0)
-- 
2.9.2




More information about the dev mailing list