On 02/06/2014 07:30 AM, Markus Armbruster wrote: > Visitors get passed a pointer to the visited object. The generated > visitors try to cope with this pointer being null in some places, for > instance like this: > > visit_start_optional(m, obj ? &(*obj)->has_name : NULL, "name", &err); > > visit_start_optional() passes its second argument to Visitor method > start_optional. Two out of two methods dereference it > unconditionally.
Let's see if I can find them without Coverity's help... opts-visitor.c:opts_start_optional qmp-input-visitor.c:qmp_input_start_optional string-input-visitor.c:parse_start_optional Your counting is off :) All three unconditionally dereference. [While at it, this code style from parse_start_optional, and similar in other locations, is rather verbose: if (!siv->string) { *present = false; return; } *present = true; } Shorter would be: *present = !!siv->string; } but that doesn't affect this patch] > > I fail to see how hits pointer could legitimately be null. > > All this useless null checking is highly redundant, which Coverity > duly reports. About 200 times. > > Remove the useless null checks. > > Signed-off-by: Markus Armbruster <arm...@redhat.com> > --- > scripts/qapi-visit.py | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) Reviewed-by: Eric Blake <ebl...@redhat.com> -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature