mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-05-07 19:08:03 +02:00
Verify that getsockname succeeded in _dbus_listen_tcp_socket
Bug: https://bugs.freedesktop.org//show_bug.cgi?id=29881 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
This commit is contained in:
parent
14be9f738b
commit
68b1d6ad5f
1 changed files with 6 additions and 4 deletions
|
|
@ -1388,16 +1388,18 @@ _dbus_listen_tcp_socket (const char *host,
|
|||
to use the same port */
|
||||
if (!port || !strcmp(port, "0"))
|
||||
{
|
||||
int result;
|
||||
struct sockaddr_storage addr;
|
||||
socklen_t addrlen;
|
||||
char portbuf[50];
|
||||
|
||||
addrlen = sizeof(addr);
|
||||
getsockname(fd, (struct sockaddr*) &addr, &addrlen);
|
||||
result = getsockname(fd, (struct sockaddr*) &addr, &addrlen);
|
||||
|
||||
if ((res = getnameinfo((struct sockaddr*)&addr, addrlen, NULL, 0,
|
||||
portbuf, sizeof(portbuf),
|
||||
NI_NUMERICHOST)) != 0)
|
||||
if (result == -1 ||
|
||||
(res = getnameinfo ((struct sockaddr*)&addr, addrlen, NULL, 0,
|
||||
portbuf, sizeof(portbuf),
|
||||
NI_NUMERICHOST)) != 0)
|
||||
{
|
||||
dbus_set_error (error, _dbus_error_from_errno (errno),
|
||||
"Failed to resolve port \"%s:%s\": %s (%s)",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue