[libvirt] [PATCH] add an assert, to avoid a false-positive NULL-deref warning from clang

Daniel P. Berrange berrange at redhat.com
Mon Mar 1 17:46:27 UTC 2010


On Mon, Mar 01, 2010 at 06:36:47PM +0100, Paolo Bonzini wrote:
> 
> >On the other hand, perhaps a more invasive rewrite would also work while
> >also avoiding assert(), by hoisting the worker->quitRequest into the while
> >loop, something like:
> >
> >      while ((client = qemudPendingJob(server)) == NULL) {
> >          if (worker->quitRequest
> >              || virCondWait(&server->job,&server->lock)<  0) {
> >              virMutexUnlock(&server->lock);
> >              return NULL;
> >          }
> >      }
> >      if (worker->quitRequest) {
> >          virMutexUnlock(&client->lock);
> >          virMutexUnlock(&server->lock);
> >          return NULL;
> >      }
> >
> >Should I write that into patch format?
> 
> I think it's best to report the bug to clang's bugzilla and not clutter 
> libvirt too much.

Agreed, I rather we just reported it to clang with the demo code & not
do anything in libvirt. It is easy enough to ignore this on subsequent
clang runs

Daniel
-- 
|: Red Hat, Engineering, London    -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :|
|: http://autobuild.org        -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list