summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmpdemux/demux_mpg.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libmpdemux/demux_mpg.c b/libmpdemux/demux_mpg.c
index 72d60669cc..041ee276c0 100644
--- a/libmpdemux/demux_mpg.c
+++ b/libmpdemux/demux_mpg.c
@@ -559,7 +559,10 @@ static int demux_mpg_gxf_fill_buffer(demuxer_t *demux, demux_stream_t *ds) {
pack = new_demux_packet(STREAM_BUFFER_SIZE);
len = stream_read(demux->stream, pack->buffer, STREAM_BUFFER_SIZE);
if (len <= 0)
+ {
+ free_demux_packet(pack);
return 0;
+ }
{
register uint32_t state = (uint32_t)demux->priv;
register int pos = -len;