summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2009-03-18 15:11:19 +0000
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2009-03-18 15:11:19 +0000
commitaca0ff24f552d16dd2a496812d75446d67091ad7 (patch)
tree266531a6316f80e89db70d82821b4d6ed83247cb
parent53553fadffa6c3d8a1ea37ac62fffedc76cd56cb (diff)
downloadtelepathy-salut-aca0ff24f552d16dd2a496812d75446d67091ad7.tar.gz
gibber-listener: check getsockname return value
-rw-r--r--lib/gibber/gibber-listener.c11
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);