[01/26] object: add extra sanity checks
diff mbox series

Message ID 20191201111531.1136947-2-marcandre.lureau@redhat.com
State New
Headers show
Series
  • Make QDev use class properties
Related show

Commit Message

Marc-André Lureau Dec. 1, 2019, 11:15 a.m. UTC
Type system checked that children class_size >= parent class_size, but
not instances. Fix that.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 qom/object.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Philippe Mathieu-Daudé Dec. 1, 2019, 7:33 p.m. UTC | #1
On 12/1/19 12:15 PM, Marc-André Lureau wrote:
> Type system checked that children class_size >= parent class_size, but
> not instances. Fix that.
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>   qom/object.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/qom/object.c b/qom/object.c
> index d51b57fba1..935491d334 100644
> --- a/qom/object.c
> +++ b/qom/object.c
> @@ -303,6 +303,7 @@ static void type_initialize(TypeImpl *ti)
>           int i;
>   
>           g_assert(parent->class_size <= ti->class_size);
> +        g_assert(parent->instance_size <= ti->instance_size);
>           memcpy(ti->class, parent->class, parent->class_size);
>           ti->class->interfaces = NULL;
>           ti->class->properties = g_hash_table_new_full(
> 

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Patch
diff mbox series

diff --git a/qom/object.c b/qom/object.c
index d51b57fba1..935491d334 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -303,6 +303,7 @@  static void type_initialize(TypeImpl *ti)
         int i;
 
         g_assert(parent->class_size <= ti->class_size);
+        g_assert(parent->instance_size <= ti->instance_size);
         memcpy(ti->class, parent->class, parent->class_size);
         ti->class->interfaces = NULL;
         ti->class->properties = g_hash_table_new_full(