
On 05/03/2013 08:53 AM, Michal Privoznik wrote:
--- src/remote/remote_driver.c | 114 +++++++++++++++++---------------------------- 1 file changed, 44 insertions(+), 70 deletions(-)
@@ -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;
double-oom, but...
if (VIR_ALLOC(remoteAddr) < 0) goto no_memory;
...you'll be making another pass anyway. ACK. There's also a lot of strdup() in src/remote/remote_client_bodies.h; you probably need to touch up src/rpc/gendispatch.pl to generate nicer code there. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org