Date: Wed, 11 Mar 2009 14:55:06 +0000
From: Daniel P. Berrange <address@hidden>
To: address@hidden
Subject: [Qemu-devel] PATCH: Replace asprintf() with snprintf() in vnc.c
As previously discussed, this patch removes the non-portable use of
asprintf(), replacing it with malloc+snprintf instead
Signed-off-by: Daniel P. Berrange <address@hidden>
Daniel
Index: vnc.c
===================================================================
--- vnc.c (revision 6811)
+++ vnc.c (working copy)
@@ -53,6 +53,7 @@
char host[NI_MAXHOST];
char serv[NI_MAXSERV];
int err;
+ size_t addrlen;
if ((err = getnameinfo((struct sockaddr *)sa, salen,
host, sizeof(host),
@@ -63,8 +64,12 @@
return NULL;
}
- if (asprintf(&addr, format, host, serv) < 0)
- return NULL;
+ /* Enough for the existing format + the 2 vars we're
+ * subsituting in. */
+ addrlen = strlen(format) + strlen(host) + strlen(serv);
+ addr = qemu_malloc(addrlen + 1);
+ snprintf(addr, addrlen, format, host, serv);
+ addr[addrlen] = '\0';
return addr;
}
--
|: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|