On 02/01/2018 06:57 AM, John Ferlan wrote: > > > 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 > Also wouldn't the NONNULL's need to change based on "#ifdef WITH_GNUTLS" for arguments after #5? >> >> 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. > And virnetdaemontest.c... John -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list