From 103e0016612ce29529445b529a1caddeeb76901c Mon Sep 17 00:00:00 2001 From: Christophe Massiot Date: Thu, 24 Oct 2002 21:08:28 +0000 Subject: [PATCH] * plugins/network/ipv4.c: fixed a crash with multicast addresses when no interface address is given. --- ChangeLog | 6 ++++++ plugins/network/ipv4.c | 7 ++++--- src/interface/main.c | 4 ++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 996a467c59..c9c71ec901 100644 --- 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 diff --git a/plugins/network/ipv4.c b/plugins/network/ipv4.c index 697559c333..6af5db6ef8 100644 --- a/plugins/network/ipv4.c +++ b/plugins/network/ipv4.c @@ -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 * Mathias Kretschmer @@ -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 ) diff --git a/src/interface/main.c b/src/interface/main.c index 329f64288b..f868669230 100644 --- a/src/interface/main.c +++ b/src/interface/main.c @@ -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 * Samuel Hocevar @@ -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 ) -- 2.39.5