提交 6350b090 编写于 作者: P Paolo Bonzini

qdev: fix off-by-one

Integer properties did not work.
Reviewed-by: NAnthony Liguori <aliguori@us.ibm.com>
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
上级 dd0ba250
...@@ -151,7 +151,7 @@ static void set_int8(Object *obj, Visitor *v, void *opaque, ...@@ -151,7 +151,7 @@ static void set_int8(Object *obj, Visitor *v, void *opaque,
error_propagate(errp, local_err); error_propagate(errp, local_err);
return; return;
} }
if (value > prop->info->min && value <= prop->info->max) { if (value >= prop->info->min && value <= prop->info->max) {
*ptr = value; *ptr = value;
} else { } else {
error_set(errp, QERR_PROPERTY_VALUE_OUT_OF_RANGE, error_set(errp, QERR_PROPERTY_VALUE_OUT_OF_RANGE,
...@@ -259,7 +259,7 @@ static void set_int16(Object *obj, Visitor *v, void *opaque, ...@@ -259,7 +259,7 @@ static void set_int16(Object *obj, Visitor *v, void *opaque,
error_propagate(errp, local_err); error_propagate(errp, local_err);
return; return;
} }
if (value > prop->info->min && value <= prop->info->max) { if (value >= prop->info->min && value <= prop->info->max) {
*ptr = value; *ptr = value;
} else { } else {
error_set(errp, QERR_PROPERTY_VALUE_OUT_OF_RANGE, error_set(errp, QERR_PROPERTY_VALUE_OUT_OF_RANGE,
...@@ -333,7 +333,7 @@ static void set_int32(Object *obj, Visitor *v, void *opaque, ...@@ -333,7 +333,7 @@ static void set_int32(Object *obj, Visitor *v, void *opaque,
error_propagate(errp, local_err); error_propagate(errp, local_err);
return; return;
} }
if (value > prop->info->min && value <= prop->info->max) { if (value >= prop->info->min && value <= prop->info->max) {
*ptr = value; *ptr = value;
} else { } else {
error_set(errp, QERR_PROPERTY_VALUE_OUT_OF_RANGE, error_set(errp, QERR_PROPERTY_VALUE_OUT_OF_RANGE,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册