On 11/14/2011 11:29 AM, Luiz Capitulino wrote:
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.

Signed-off-by: Luiz Capitulino<lcapitul...@redhat.com>
---

I think it's a good idea to merge this one for 1.0, but I'd be ok to queue it
for 1.1 in case we're only merging fixes for "real" bugs.

I found this while extending the QAPI's unit-tests...

  qapi/qmp-output-visitor.c |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/qapi/qmp-output-visitor.c b/qapi/qmp-output-visitor.c
index d67724e..f76d015 100644
--- a/qapi/qmp-output-visitor.c
+++ b/qapi/qmp-output-visitor.c
@@ -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;
      }

Acked-by: Michael Roth <mdr...@linux.vnet.ibm.com>


Reply via email to