summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_avi.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmpdemux/demux_avi.c')
-rw-r--r--libmpdemux/demux_avi.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libmpdemux/demux_avi.c b/libmpdemux/demux_avi.c
index 7c27932a70..cc08073b1b 100644
--- a/libmpdemux/demux_avi.c
+++ b/libmpdemux/demux_avi.c
@@ -192,7 +192,7 @@ do{
}
pos=idx->dwChunkOffset+priv->idx_offset;
- if(pos<demux->movi_start || pos>=demux->movi_end){
+ if((pos<demux->movi_start || pos>=demux->movi_end) && (demux->movi_end>demux->movi_start)){
mp_msg(MSGT_DEMUX,MSGL_V,"ChunkOffset out of range! idx=0x%X \n",pos);
continue;
}
@@ -224,7 +224,7 @@ do{
if(idx->dwFlags&AVIIF_KEYFRAME) flags=1;
} else {
demux->filepos=stream_tell(demux->stream);
- if(demux->filepos>=demux->movi_end){
+ if(demux->filepos>=demux->movi_end && demux->movi_end>demux->movi_start){
demux->stream->eof=1;
return 0;
}
@@ -284,7 +284,7 @@ do{
}
pos=idx->dwChunkOffset+priv->idx_offset;
- if(pos<demux->movi_start || pos>=demux->movi_end){
+ if((pos<demux->movi_start || pos>=demux->movi_end) && (demux->movi_end>demux->movi_start)){
mp_msg(MSGT_DEMUX,MSGL_V,"ChunkOffset out of range! current=0x%X idx=0x%X \n",demux->filepos,pos);
continue;
}
@@ -347,7 +347,7 @@ int *fpos=NULL;
do{
demux->filepos=stream_tell(demux->stream);
- if(demux->filepos>=demux->movi_end){
+ if(demux->filepos>=demux->movi_end && (demux->movi_end>demux->movi_start)){
demux->stream->eof=1;
return 0;
}