avformat/aviobuf: Check that avio_seek() target is non negative
Fixes out of array access
Suggested-by: Andrew Scherkus <scherkus@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ed86dbd05d)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
			
			
This commit is contained in:
		@@ -217,6 +217,9 @@ int64_t avio_seek(AVIOContext *s, int64_t offset, int whence)
 | 
			
		||||
            return offset1;
 | 
			
		||||
        offset += offset1;
 | 
			
		||||
    }
 | 
			
		||||
    if (offset < 0)
 | 
			
		||||
        return AVERROR(EINVAL);
 | 
			
		||||
 | 
			
		||||
    offset1 = offset - pos;
 | 
			
		||||
    if (!s->must_flush && (!s->direct || !s->seek) &&
 | 
			
		||||
        offset1 >= 0 && offset1 <= (s->buf_end - s->buffer)) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user