On 05/20/2013 11:55 AM, Michal Privoznik wrote: > --- > src/remote/remote_driver.c | 114 > +++++++++++++++++---------------------------- > 1 file changed, 44 insertions(+), 70 deletions(-) > > @@ -497,24 +497,21 @@ doRemoteOpen(virConnectPtr conn, ... > > if (conn->uri && conn->uri->user && > - !(username = strdup(conn->uri->user))) > - goto no_memory; > + VIR_STRDUP(username, conn->uri->user) < 0) > + goto failed;
Could be simplified to:
if (conn->uri && VIR_STRDUP(username, conn->uri->user) < 0)
> @@ -705,17 +696,13 @@ doRemoteOpen(virConnectPtr conn,
> break;
>
> case trans_ssh:
> - if (!command && !(command = strdup("ssh")))
> - goto no_memory;
> + if (!command && VIR_STRDUP(command, "ssh") < 0)
> + goto failed;
>
> - if (!sockname) {
> - if (flags & VIR_DRV_OPEN_REMOTE_RO)
> - sockname = strdup(LIBVIRTD_PRIV_UNIX_SOCKET_RO);
> - else
> - sockname = strdup(LIBVIRTD_PRIV_UNIX_SOCKET);
> - if (!sockname)
> - goto no_memory;
> - }
> + if (VIR_STRDUP(sockname,
Memory leak if sockname was already defined. Must be:
if (!sockname && VIR_STRDUP(sockname, ...
> @@ -4472,15 +4449,15 @@ remoteDomainBuildEventGraphics(virNetClientProgramPtr
> prog ATTRIBUTE_UNUSED,
> if (VIR_ALLOC(localAddr) < 0)
> goto no_memory;
> localAddr->family = msg->local.family;
> - if (!(localAddr->service = strdup(msg->local.service)) ||
> - !(localAddr->node = strdup(msg->local.node)))
> + if (VIR_STRDUP(localAddr->service, msg->local.service) < 0 ||
> + VIR_STRDUP(localAddr->node, msg->local.node) < 0)
> goto no_memory;
silent->noisy, when we are really just discarding the event on any
error. Based on discussion earlier in the series, that means we are
polluting the thread-local error object with no one to report it, but
that the pollution will be cleaned up on the next real API that we
handle. So I think I can live with the change to noisy. However,
s/no_memory/error/ would be appropriate.
ACK with those fixes.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
