summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 7fc30f2)
raw | patch | inline | side by side (parent: 7fc30f2)
author | Stefan Kost <ensonic@users.sf.net> | |
Wed, 12 Jan 2011 10:58:44 +0000 (12:58 +0200) | ||
committer | Stefan Kost <ensonic@users.sf.net> | |
Tue, 25 Jan 2011 14:17:14 +0000 (16:17 +0200) |
Handle inet_aton() return code.
libs/gst/net/gstnettimeprovider.c | patch | blob | history |
index 446e6103512b7797782819d39698cbcd1f04b694..a3e80e00838f72f6bd632baa7c04782ba6977700 100644 (file)
my_addr.sin_family = AF_INET; /* host byte order */
my_addr.sin_port = htons ((gint16) self->port); /* short, network byte order */
my_addr.sin_addr.s_addr = INADDR_ANY;
- if (self->address)
- inet_aton (self->address, &my_addr.sin_addr);
+ if (self->address) {
+ ret = inet_aton (self->address, &my_addr.sin_addr);
+ if (ret == 0)
+ goto invalid_address_error;
+ }
GST_DEBUG_OBJECT (self, "binding on port %d", self->port);
ret =
g_strerror (errno), errno);
return FALSE;
}
+invalid_address_error:
+ {
+ close (self->priv->sock.fd);
+ self->priv->sock.fd = -1;
+ GST_ERROR_OBJECT (self, "invalid network address %s: %s (%d)",
+ self->address, g_strerror (errno), errno);
+ return FALSE;
+ }
bind_error:
{
close (self->priv->sock.fd);