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:
parent
5b0d272717
commit
457772e68f
9
vnc.c
9
vnc.c
@ -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;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user