On Fri, May 10, 2019 at 09:52:27 +0200, Michal Privoznik wrote: > If no board was detected then VIR_REALLOC_N() done at the end of > the function will actually free the memory (because nborads == > 0), but @boards will be set to a non-NULL pointer. This makes it > unnecessary harder for a caller to see if any board was detected. Ah, yeah. Allocating 0 bytes of memory may get you a pointer. > > Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> > --- > src/util/virsysinfo.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/src/util/virsysinfo.c b/src/util/virsysinfo.c > index 9e60d1a553..6c3adc23ab 100644 > --- a/src/util/virsysinfo.c > +++ b/src/util/virsysinfo.c > @@ -844,8 +844,12 @@ virSysinfoParseX86BaseBoard(const char *base, > nboards--; > } > > - /* This is safe, as we can be only shrinking the memory */ > - ignore_value(VIR_REALLOC_N(boards, nboards)); > + if (nboards == 0) { > + VIR_FREE(boards); ACK
Attachment:
signature.asc
Description: PGP signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list