From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:39859) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RbYUd-0003AW-Ku for qemu-devel@nongnu.org; Fri, 16 Dec 2011 09:10:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RbYUZ-0004oi-GZ for qemu-devel@nongnu.org; Fri, 16 Dec 2011 09:10:35 -0500 Received: from mail-iy0-f173.google.com ([209.85.210.173]:42940) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RbYUZ-0004oe-CE for qemu-devel@nongnu.org; Fri, 16 Dec 2011 09:10:31 -0500 Received: by iagj37 with SMTP id j37so5035632iag.4 for ; Fri, 16 Dec 2011 06:10:30 -0800 (PST) Message-ID: <4EEB5152.2010405@codemonkey.ws> Date: Fri, 16 Dec 2011 08:10:26 -0600 From: Anthony Liguori MIME-Version: 1.0 References: <1324036918-2405-1-git-send-email-pbonzini@redhat.com> <1324036918-2405-2-git-send-email-pbonzini@redhat.com> <4EEB4DE2.2060805@codemonkey.ws> <4EEB4F0C.7050702@redhat.com> In-Reply-To: <4EEB4F0C.7050702@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 1/8] qapi: fix NULL pointer dereference List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: kwolf@redhat.com, qemu-devel@nongnu.org On 12/16/2011 08:00 AM, Paolo Bonzini wrote: > On 12/16/2011 02:55 PM, Anthony Liguori wrote: >>> This is visible with >>> >>> qom-get path=/i440fx/piix3 property=romfile >>> >>> after static non-string properties are introduced. >> >> I'm a bit confused about what's happening here. What's the significance >> of non-string properties? > > Should have been "static non-legacy properties". > > When you don't have a value for a property, legacy properties are visited as > "", while the new static properties do not pass anything to the visitor. > > I stole this from qdev_property_get_str: > > value = prop->get(dev, errp); > if (value) { > visit_type_str(v, &value, name, errp); > g_free(value); > } I should more clearly document it. NULL would be only return if errp was set. I just didn't want to introduce a local_err in order to be able to check whether the function failed. If a property function does not set the Error pointer, it must visit something. Regards, Anthony Liguori > > Paolo >