diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2009-03-18 15:11:19 +0000 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2009-03-18 15:11:19 +0000 |
commit | aca0ff24f552d16dd2a496812d75446d67091ad7 (patch) | |
tree | 266531a6316f80e89db70d82821b4d6ed83247cb | |
parent | 53553fadffa6c3d8a1ea37ac62fffedc76cd56cb (diff) | |
download | telepathy-salut-aca0ff24f552d16dd2a496812d75446d67091ad7.tar.gz |
gibber-listener: check getsockname return value
-rw-r--r-- | lib/gibber/gibber-listener.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/gibber/gibber-listener.c b/lib/gibber/gibber-listener.c index ff27c063..0bb209a3 100644 --- a/lib/gibber/gibber-listener.c +++ b/lib/gibber/gibber-listener.c @@ -301,7 +301,16 @@ add_listener (GibberListener *self, int family, int type, int protocol, goto error; } - getsockname (fd, &baddress.addr, &baddrlen); + ret = getsockname (fd, &baddress.addr, &baddrlen); + if (ret == -1) + { + DEBUG ("getsockname failed: %s", g_strerror (errno)); + g_set_error (error, GIBBER_LISTENER_ERROR, + GIBBER_LISTENER_ERROR_FAILED, + "%s", g_strerror (errno)); + goto error; + } + getnameinfo (&baddress.addr, baddrlen, name, sizeof (name), portname, sizeof (portname), NI_NUMERICHOST | NI_NUMERICSERV); |