Replace asprintf() with snprintf() in vnc.c ("Daniel P. Berrange")

As previously discussed, this patch removes the non-portable use of
asprintf(), replacing it with malloc+snprintf instead

   Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6843 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
aliguori 2009-03-13 15:03:27 +00:00
parent 5b0d272717
commit 457772e68f

9
vnc.c
View File

@ -53,6 +53,7 @@ static char *addr_to_string(const char *format,
char host[NI_MAXHOST]; char host[NI_MAXHOST];
char serv[NI_MAXSERV]; char serv[NI_MAXSERV];
int err; int err;
size_t addrlen;
if ((err = getnameinfo((struct sockaddr *)sa, salen, if ((err = getnameinfo((struct sockaddr *)sa, salen,
host, sizeof(host), host, sizeof(host),
@ -63,8 +64,12 @@ static char *addr_to_string(const char *format,
return NULL; return NULL;
} }
if (asprintf(&addr, format, host, serv) < 0) /* Enough for the existing format + the 2 vars we're
return NULL; * 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; return addr;
} }