[libvirt] [PATCH] tests: fix test segfault when libxl configuration setup fails.

Erik Skultety eskultet at redhat.com
Thu Aug 2 08:37:44 UTC 2018


On Thu, Aug 02, 2018 at 10:35:27AM +0200, Erik Skultety wrote:
> On Thu, Aug 02, 2018 at 01:06:39AM -0300, Julio Faracco wrote:
> > This commit fixes a segmentation fault caused by missing conditional to
> > check if libxl configuration was properly created by the test. If the
> > configuration was not properly created, libxlDriverConfigNew() function
> > will return NULL and cause a segfault at cfg->caps = NULL during the
> > cleanup.
> >
> > Signed-off-by: Julio Faracco <jcfaracco at gmail.com>
> > ---
> >  tests/libxlxml2domconfigtest.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/tests/libxlxml2domconfigtest.c b/tests/libxlxml2domconfigtest.c
> > index 34a63e22b5..a9758c40cb 100644
> > --- a/tests/libxlxml2domconfigtest.c
> > +++ b/tests/libxlxml2domconfigtest.c
> > @@ -138,7 +138,8 @@ testCompareXMLToDomConfig(const char *xmlfile,
> >      libxl_domain_config_dispose(&actualconfig);
> >      libxl_domain_config_dispose(&expectconfig);
> >      xtl_logger_destroy(log);
> > -    cfg->caps = NULL;
> > +    if (cfg)
> > +        cfg->caps = NULL;
> >      virObjectUnref(cfg);
> >      return ret;
>
> Either this or move the "if (!(cfg - libxlDriverConfigNew()))" before the calls
> to the libxl library and return a failure right away, but I don't have a strong
> preference here, so
>
> Reviewed-by: Erik Skultety <eskultet at redhat.com>

Oh, it's also safe for freeze, so I went ahead and pushed the patch.

Erik




More information about the libvir-list mailing list