On 2013年01月31日 03:36, John Ferlan wrote:
The conditional setting of cmdout in
networkBuildDhcpDaemonCommandLine()
caused Coverity to complain that 'cmd' could be leaked if !cmdout. Since
the function is local and only called with cmdout being passed those checks
have been removed.
---
src/network/bridge_driver.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index 21255f0..e9a36e5 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -995,7 +995,8 @@ cleanup:
/* build the dnsmasq command line */
static int
-networkBuildDhcpDaemonCommandLine(virNetworkObjPtr network, virCommandPtr *cmdout,
+networkBuildDhcpDaemonCommandLine(virNetworkObjPtr network,
+ virCommandPtr *cmdout,
char *pidfile, dnsmasqContext *dctx,
dnsmasqCapsPtr caps)
{
@@ -1027,13 +1028,9 @@ networkBuildDhcpDaemonCommandLine(virNetworkObjPtr network,
virCommandPtr *cmdou
cmd = virCommandNew(dnsmasqCapsGetBinaryPath(caps));
virCommandAddArgFormat(cmd, "--conf-file=%s", configfile);
-
- if (cmdout)
- *cmdout = cmd;
+ *cmdout = cmd;
ret = 0;
cleanup:
- if (ret< 0)
- virCommandFree(cmd);
return ret;
}
Per the function is static, the changes are fine. But to be safe,
using ATTRIBUTE_NONNULL will be better:
static int ATTRIBUTE_NONNULL(2)
networkBuildDhcpDaemonCommandLine (...)
Osier