On 01/23/2018 08:23 AM, Daniel P. Berrange wrote: > The server name and client data callbacks need to be non-NULL or the > system will crash at various times. This is particularly bad when some > of the crashes only occur post-exec restart. > > Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> > --- > src/rpc/virnetserver.h | 7 +++++-- > src/rpc/virnetserverclient.h | 7 +++++-- > 2 files changed, 10 insertions(+), 4 deletions(-) > My Coverity build was not happy this morning... > diff --git a/src/rpc/virnetserverclient.h b/src/rpc/virnetserverclient.h > index 3c48759abc..4a0d3cc25e 100644 > --- a/src/rpc/virnetserverclient.h > +++ b/src/rpc/virnetserverclient.h > @@ -72,14 +72,17 @@ virNetServerClientPtr virNetServerClientNew(unsigned long long id, > virNetServerClientPrivNew privNew, > virNetServerClientPrivPreExecRestart privPreExecRestart, > virFreeCallback privFree, > - void *privOpaque); > + void *privOpaque) > + ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(7) ATTRIBUTE_NONNULL(9); This one caused the Coverity build to fail because virNetServerClientNew checks "if (privNew)" before assigning client->privateData > > virNetServerClientPtr virNetServerClientNewPostExecRestart(virNetServerPtr srv, > virJSONValuePtr object, > virNetServerClientPrivNewPostExecRestart privNew, > virNetServerClientPrivPreExecRestart privPreExecRestart, > virFreeCallback privFree, > - void *privOpaque); > + void *privOpaque) > + ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3) > + ATTRIBUTE_NONNULL(4) ATTRIBUTE_NONNULL(5); Likewise here too for virNetServerClientNewPostExecRestart w/ privNew Finally, the "tests/virnetserverclienttest.c fails to build because of the NULL argument check. Reproducible if you enable static analysis... John > > virJSONValuePtr virNetServerClientPreExecRestart(virNetServerClientPtr client); > > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list