qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH qom-next] qapi: exclude negative values in uint*_t Visitor interfaces
@ 2012-06-06 16:00 Laszlo Ersek
  2012-06-06 16:30 ` Michael Roth
  0 siblings, 1 reply; 2+ messages in thread
From: Laszlo Ersek @ 2012-06-06 16:00 UTC (permalink / raw)
  To: afaerber, mdroth, pbonzini, qemu-devel, lersek


Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
(To be applied on top of 0f2de4a8.)

 qapi/qapi-visit-core.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/qapi/qapi-visit-core.c b/qapi/qapi-visit-core.c
index 9a29674..81f697f 100644
--- a/qapi/qapi-visit-core.c
+++ b/qapi/qapi-visit-core.c
@@ -106,7 +106,7 @@ void visit_type_uint8(Visitor *v, uint8_t *obj, const char *name, Error **errp)
         } else {
             value = *obj;
             v->type_int(v, &value, name, errp);
-            if (value > UINT8_MAX) {
+            if (value < 0 || value > UINT8_MAX) {
                 error_set(errp, QERR_INVALID_PARAMETER_VALUE, name ? name : "null",
                           "uint8_t");
                 return;
@@ -125,7 +125,7 @@ void visit_type_uint16(Visitor *v, uint16_t *obj, const char *name, Error **errp
         } else {
             value = *obj;
             v->type_int(v, &value, name, errp);
-            if (value > UINT16_MAX) {
+            if (value < 0 || value > UINT16_MAX) {
                 error_set(errp, QERR_INVALID_PARAMETER_VALUE, name ? name : "null",
                           "uint16_t");
                 return;
@@ -144,7 +144,7 @@ void visit_type_uint32(Visitor *v, uint32_t *obj, const char *name, Error **errp
         } else {
             value = *obj;
             v->type_int(v, &value, name, errp);
-            if (value > UINT32_MAX) {
+            if (value < 0 || value > UINT32_MAX) {
                 error_set(errp, QERR_INVALID_PARAMETER_VALUE, name ? name : "null",
                           "uint32_t");
                 return;
@@ -163,6 +163,11 @@ void visit_type_uint64(Visitor *v, uint64_t *obj, const char *name, Error **errp
         } else {
             value = *obj;
             v->type_int(v, &value, name, errp);
+            if (value < 0) {
+                error_set(errp, QERR_INVALID_PARAMETER_VALUE, name ? name : "null",
+                          "uint64_t");
+                return;
+            }
             *obj = value;
         }
     }
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-06-06 16:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-06 16:00 [Qemu-devel] [PATCH qom-next] qapi: exclude negative values in uint*_t Visitor interfaces Laszlo Ersek
2012-06-06 16:30 ` Michael Roth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).