From c748950c9fcc1f50adb7b73b07fff6bfb96e2f5a Mon Sep 17 00:00:00 2001 From: albeu Date: Thu, 16 Mar 2006 14:24:22 +0000 Subject: Fix a potential seek failure, fill_buffer doesn't have to fill the whole buffer. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17879 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/stream.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'libmpdemux/stream.c') diff --git a/libmpdemux/stream.c b/libmpdemux/stream.c index 1175b2e048..869b3e1f62 100644 --- a/libmpdemux/stream.c +++ b/libmpdemux/stream.c @@ -324,11 +324,13 @@ if(newpos==0 || newpos!=s->pos){ // putchar('%');fflush(stdout); } - stream_fill_buffer(s); - if(pos>=0 && pos<=s->buf_len){ +while(stream_fill_buffer(s) > 0 && pos >= 0) { + if(pos<=s->buf_len){ s->buf_pos=pos; // byte position in sector return 1; } + pos -= s->buf_len; +} // if(pos==s->buf_len) printf("XXX Seek to last byte of file -> EOF\n"); -- cgit v1.2.3