]> git.sesse.net Git - vlc/commitdiff
* plugins/network/ipv4.c: fixed a crash with multicast addresses when no
authorChristophe Massiot <massiot@videolan.org>
Thu, 24 Oct 2002 21:08:28 +0000 (21:08 +0000)
committerChristophe Massiot <massiot@videolan.org>
Thu, 24 Oct 2002 21:08:28 +0000 (21:08 +0000)
    interface address is given.

ChangeLog
plugins/network/ipv4.c
src/interface/main.c

index 996a467c595b93c738d5aeb71c3a1c0737049965..c9c71ec9013e2f5fa2f6f30bfde1deaf5b942913 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,12 @@
 # ChangeLog for vlc #
 #===================#
 
+0.4.6
+Not released yet.
+
+  * plugins/network/ipv4.c: fixed a crash with multicast addresses when no
+    interface address is given.
+
 0.4.5
 Fri, 11 Oct 2002 15:37:41 +0200
 
index 697559c333f76d8751b30a5293a4fac7a80c8892..6af5db6ef8ef1ed5ff0449d9d6af6869e214995d 100644 (file)
@@ -2,7 +2,7 @@
  * ipv4.c: IPv4 network abstraction layer
  *****************************************************************************
  * Copyright (C) 2001, 2002 VideoLAN
- * $Id: ipv4.c,v 1.12.2.2 2002/10/01 22:26:39 massiot Exp $
+ * $Id: ipv4.c,v 1.12.2.3 2002/10/24 21:08:28 massiot Exp $
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *          Mathias Kretschmer <mathias@research.att.com>
@@ -273,7 +273,8 @@ static int OpenUDP( network_socket_t * p_socket )
         char * psz_if_addr = config_GetPszVariable( "iface-addr" );
         imr.imr_multiaddr.s_addr = inet_addr(psz_bind_addr);
 #endif
-        if ( *psz_if_addr && inet_addr(psz_if_addr) != -1 )
+        if ( psz_if_addr != NULL && *psz_if_addr
+              && inet_addr(psz_if_addr) != -1 )
         {
             imr.imr_interface.s_addr = inet_addr(psz_if_addr);
         }
@@ -281,7 +282,7 @@ static int OpenUDP( network_socket_t * p_socket )
         {
             imr.imr_interface.s_addr = INADDR_ANY;
         }
-        free( psz_if_addr );
+        if ( psz_if_addr != NULL ) free( psz_if_addr );
 
         if( setsockopt( i_handle, IPPROTO_IP, IP_ADD_MEMBERSHIP,
                         (char*)&imr, sizeof(struct ip_mreq) ) == -1 )
index 329f64288be4ed26037daa2db6b358314fdfdf46..f868669230f6785b30cc7b71b932bd3c12e82803 100644 (file)
@@ -4,7 +4,7 @@
  * and spawn threads.
  *****************************************************************************
  * Copyright (C) 1998-2001 VideoLAN
- * $Id: main.c,v 1.195.2.9 2002/10/11 09:01:18 gbazin Exp $
+ * $Id: main.c,v 1.195.2.10 2002/10/24 21:08:28 massiot Exp $
  *
  * Authors: Vincent Seguin <seguin@via.ecp.fr>
  *          Samuel Hocevar <sam@zoy.org>
@@ -422,7 +422,7 @@ ADD_STRING  ( "channel-server", "localhost", NULL, CHAN_SERV_TEXT, CHAN_SERV_LON
 ADD_INTEGER ( "channel-port", 6010, NULL, CHAN_PORT_TEXT, CHAN_PORT_LONGTEXT )
 ADD_INTEGER ( "mtu", 1500, NULL, MTU_TEXT, MTU_LONGTEXT )
 ADD_STRING  ( "iface", "eth0", NULL, IFACE_TEXT, IFACE_LONGTEXT )
-ADD_STRING  ( "iface-addr", "", NULL, IFACE_ADDR_TEXT, IFACE_ADDR_LONGTEXT )
+ADD_STRING  ( "iface-addr", NULL, NULL, IFACE_ADDR_TEXT, IFACE_ADDR_LONGTEXT )
 
 ADD_INTEGER ( "program", 0, NULL, INPUT_PROGRAM_TEXT, INPUT_PROGRAM_LONGTEXT )
 ADD_INTEGER ( "audio-type", -1, NULL, INPUT_AUDIO_TEXT, INPUT_AUDIO_LONGTEXT )