diff options
author | phintuka <phintuka> | 2006-09-11 19:59:22 +0000 |
---|---|---|
committer | phintuka <phintuka> | 2006-09-11 19:59:22 +0000 |
commit | 0311e61111ead6da33d615d2e4a76e6b26503ae4 (patch) | |
tree | b25a786710a457df3178226cf81a7e1e9dc26746 /xine_input_vdr.c | |
parent | df92bb62269e68abde8037a8fc0c87b4f4bb3f8a (diff) | |
download | xineliboutput-0311e61111ead6da33d615d2e4a76e6b26503ae4.tar.gz xineliboutput-0311e61111ead6da33d615d2e4a76e6b26503ae4.tar.bz2 |
Fixed buffer leak
Diffstat (limited to 'xine_input_vdr.c')
-rw-r--r-- | xine_input_vdr.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/xine_input_vdr.c b/xine_input_vdr.c index e092e0bf..82075131 100644 --- a/xine_input_vdr.c +++ b/xine_input_vdr.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: xine_input_vdr.c,v 1.45 2006-09-10 20:59:09 phintuka Exp $ + * $Id: xine_input_vdr.c,v 1.46 2006-09-11 19:59:22 phintuka Exp $ * */ @@ -350,9 +350,10 @@ static void free_udp_data(udp_data_t *data) int i; for(i=0; i<=UDP_SEQ_MASK; i++) - if(data->queue[i]) + if(data->queue[i]) { data->queue[i]->free_buffer(data->queue[i]); - + data->queue[i] = NULL; + } free(data); } @@ -3519,6 +3520,7 @@ static int vdr_plugin_read_net_tcp(vdr_input_plugin_t *this) if(read_buffer) { read_buffer->free_buffer(read_buffer); + read_buffer = NULL; if(cnt && this->fd_data >= 0 && result == XIO_TIMEOUT) { LOGMSG("TCP: Delay too long, disconnecting"); this->control_running = 0; @@ -4139,6 +4141,7 @@ static buf_element_t *vdr_plugin_read_block (input_plugin_t *this_gen, if(!this->stream_start) LOGMSG("BLANK in middle of stream!"); buf->free_buffer(buf); + buf = NULL; _x_demux_control_newpts(this->stream, 0, 0); queue_blank_yv12(this); continue; |