summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosep Torra <n770galaxy@gmail.com>2009-07-21 01:12:44 +0200
committerJosep Torra <n770galaxy@gmail.com>2009-07-21 01:12:44 +0200
commitefcfb89b5c0d9b2da1e1388df23daa76d3b41f66 (patch)
tree0d1c5509d11c9f1d72c8a56d81d03645b7d6ff2a
parentb3c55f5ce5301d218596b199c893232802948a42 (diff)
udputils: initialize struct content with 0.
Fixes some random crashes.
-rw-r--r--gst/udp/gstudpnetutils.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gst/udp/gstudpnetutils.c b/gst/udp/gstudpnetutils.c
index 4b25b4250..2ed65e685 100644
--- a/gst/udp/gstudpnetutils.c
+++ b/gst/udp/gstudpnetutils.c
@@ -178,6 +178,7 @@ gst_udp_join_group (int sockfd, struct sockaddr_storage *addr, gchar * iface)
struct ip_mreq mreq4;
#endif
+ memset (&mreq4, 0, sizeof (mreq4));
mreq4.imr_multiaddr.s_addr =
((struct sockaddr_in *) addr)->sin_addr.s_addr;
#ifdef HAVE_IP_MREQN
@@ -200,6 +201,7 @@ gst_udp_join_group (int sockfd, struct sockaddr_storage *addr, gchar * iface)
{
struct ipv6_mreq mreq6;
+ memset (&mreq6, 0, sizeof (mreq6));
memcpy (&mreq6.ipv6mr_multiaddr,
&(((struct sockaddr_in6 *) addr)->sin6_addr),
sizeof (struct in6_addr));
@@ -236,6 +238,7 @@ gst_udp_leave_group (int sockfd, struct sockaddr_storage *addr)
{
struct ip_mreq mreq4;
+ memset (&mreq4, 0, sizeof (mreq4));
mreq4.imr_multiaddr.s_addr =
((struct sockaddr_in *) addr)->sin_addr.s_addr;
mreq4.imr_interface.s_addr = INADDR_ANY;
@@ -251,6 +254,7 @@ gst_udp_leave_group (int sockfd, struct sockaddr_storage *addr)
{
struct ipv6_mreq mreq6;
+ memset (&mreq6, 0, sizeof (mreq6));
memcpy (&mreq6.ipv6mr_multiaddr,
&(((struct sockaddr_in6 *) addr)->sin6_addr),
sizeof (struct in6_addr));