Am 25.04.2014 20:02, schrieb Luiz Capitulino:
> On Fri, 25 Apr 2014 17:57:12 +0200
> Andreas Färber <afaer...@suse.de> wrote:
>> Am 25.04.2014 17:12, schrieb Luiz Capitulino:
>>> On Wed, 16 Apr 2014 14:39:38 -0300
>>> Eduardo Habkost <ehabk...@redhat.com> wrote:
>>>
>>>> Currently it is very easy to crash QEMU by issuing an object-add command
>>>> using an abstract class or a class that doesn't support
>>>> TYPE_USER_CREATABLE as parameter.
>>>>
>>>> Example: with the following QMP command:
>>>>
>>>>     (QEMU) object-add qom-type=cpu id=foo
>>>>
>>>> QEMU aborts at:
>>>>
>>>>     ERROR:qom/object.c:335:object_initialize_with_type: assertion failed: 
>>>> (type->abstract == false)
>>>>
>>>> This patch moves the check for TYPE_USER_CREATABLE before object_new(),
>>>> and adds a check to prevent the code from trying to instantiate abstract
>>>> classes.
>>>>
>>>> Signed-off-by: Eduardo Habkost <ehabk...@redhat.com>
>>>
>>> Applied to the qmp branch, thanks Eduardo.
[...]
>>>> diff --git a/qmp.c b/qmp.c
>>>> index 87a28f7..9a93ab1 100644
>>>> --- a/qmp.c
>>>> +++ b/qmp.c
>>>> @@ -540,14 +540,27 @@ void object_add(const char *type, const char *id, 
>>>> const QDict *qdict,
>>>>                  Visitor *v, Error **errp)
>>>>  {
>>>>      Object *obj;
>>>> +    ObjectClass *klass;
>>
>> Luiz, can you rename klass to oc please?
> 
> My pull request is almost ready (finishing last few tests), so I think
> it's a bit late for a style change.

Then either one of you please follow-up with a fix before you forget.
I've been asked to change patches that way, so I expect others do, too.

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

Reply via email to