qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-block] [PATCH 2/8] block: fix unbounded stack for dump_qdict


From: Peter Xu
Subject: [Qemu-block] [PATCH 2/8] block: fix unbounded stack for dump_qdict
Date: Tue, 8 Mar 2016 15:00:40 +0800

Suggested-by: Paolo Bonzini <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Kevin Wolf <address@hidden>
CC: address@hidden
Signed-off-by: Peter Xu <address@hidden>
---
 block/qapi.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/block/qapi.c b/block/qapi.c
index db2d3fb..687e577 100644
--- a/block/qapi.c
+++ b/block/qapi.c
@@ -638,9 +638,12 @@ static void dump_qdict(fprintf_function func_fprintf, void 
*f, int indentation,
         QType type = qobject_type(entry->value);
         bool composite = (type == QTYPE_QDICT || type == QTYPE_QLIST);
         const char *format = composite ? "%*s%s:\n" : "%*s%s: ";
-        char key[strlen(entry->key) + 1];
+#define __KEY_LEN (256)
+        char key[__KEY_LEN];
         int i;
 
+        assert(strlen(entry->key) + 1 <= __KEY_LEN);
+#undef __KEY_LEN
         /* replace dashes with spaces in key (variable) names */
         for (i = 0; entry->key[i]; i++) {
             key[i] = entry->key[i] == '-' ? ' ' : entry->key[i];
-- 
2.4.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]