diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-03-03 10:23:28 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-03-03 10:23:28 +0000 |
commit | c5563969ec0a7ffda40da67373c1758a9dd9e7a2 (patch) | |
tree | e9b06461fad7c5cdf5be9984304462cb618f5bc2 /libmpdemux | |
parent | fd9fe9e04d56535ccbee56a7f0c5876009e56c9f (diff) | |
download | mpv-c5563969ec0a7ffda40da67373c1758a9dd9e7a2.tar.bz2 mpv-c5563969ec0a7ffda40da67373c1758a9dd9e7a2.tar.xz |
Fix rm files with a really big index chunk.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14898 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r-- | libmpdemux/demux_real.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libmpdemux/demux_real.c b/libmpdemux/demux_real.c index 55e4edbf0f..f124077f31 100644 --- a/libmpdemux/demux_real.c +++ b/libmpdemux/demux_real.c @@ -245,6 +245,11 @@ static void add_index_item(demuxer_t *demuxer, int stream_id, int timestamp, int priv->index_malloc_size[stream_id] = 2048; else priv->index_malloc_size[stream_id] += priv->index_malloc_size[stream_id] / 2; + // in case we have a really large chunk... + if (priv->index_table_size[stream_id] >= + priv->index_malloc_size[stream_id]) + priv->index_malloc_size[stream_id] = + priv->index_table_size[stream_id] + 1; priv->index_table[stream_id] = realloc(priv->index_table[stream_id], priv->index_malloc_size[stream_id]*sizeof(priv->index_table[0][0])); } if (priv->index_table_size[stream_id] > 0) |