Jim Meyering <jim@meyering.net> wrote on 03/29/2010 01:22:56 PM:

> [image removed]

>
> Re: [libvirt] [PATCH] nwfilter_ebiptables_driver.c: avoid NULL dereference

>
> Jim Meyering

>
> to:

>
> Eric Blake

>
> 03/29/2010 01:23 PM

>
> Cc:

>
> Stefan Berger, Libvirt

>
> Eric Blake wrote:
> > On 03/29/2010 10:37 AM, Jim Meyering wrote:
> >> Another one caught by clang:
> >>
> >> Note the first test to see if "inst" may be NULL.
> >> Then, in the following loop, "inst" is unconditionally
> >> dereferenced via "inst[i]".  There are other unprotected
> >> used of "inst[i]" below, too.
> >>
> >> Rather than trying to protect all uses, one by one, I chose
> >> to return "success" when given an empty list of rules.
> >
> > ACK that your patch is the minimal fix to avoid a segfault, but we
> > should probably get Stefan's input on whether returning success on an
> > empty input is the best course of behavior.
>
> Ok.  I've Cc'd him.


Actually the inst[n] accesses are protected by nInstances having to be > 0 for code to try to read a inst[n]. So it should be fine the way it is. nInstances and inst belong together and nInstances indicates the number of members in that array. No member of inst[] is expected to be NULL.

   Stefan