]> git.proxmox.com Git - qemu.git/commitdiff
qapi: Check for negative enum values
authorLuiz Capitulino <lcapitulino@redhat.com>
Mon, 14 Nov 2011 13:25:09 +0000 (11:25 -0200)
committerLuiz Capitulino <lcapitulino@redhat.com>
Thu, 17 Nov 2011 17:15:03 +0000 (15:15 -0200)
We don't currently check for negative enum values in qmp_output_type_enum(),
this will very likely generate a segfault when triggered.

However, it _seems_ that no code in tree can trigger this today.

Acked-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
qapi/qmp-output-visitor.c

index d67724ea4bde46e3255a73674e6c314a1d40e81f..f76d0159cd6760cff457ef99d7101402325d3ad2 100644 (file)
@@ -190,7 +190,7 @@ static void qmp_output_type_enum(Visitor *v, int *obj, const char *strings[],
 
     assert(strings);
     while (strings[i++] != NULL);
-    if (value >= i - 1) {
+    if (value < 0 || value >= i - 1) {
         error_set(errp, QERR_INVALID_PARAMETER, name ? name : "null");
         return;
     }