summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-03-03 10:23:28 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-03-03 10:23:28 +0000
commitc5563969ec0a7ffda40da67373c1758a9dd9e7a2 (patch)
treee9b06461fad7c5cdf5be9984304462cb618f5bc2 /libmpdemux
parentfd9fe9e04d56535ccbee56a7f0c5876009e56c9f (diff)
downloadmpv-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.c5
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)