Do proper bounds checking in formats (bug #1356)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2694 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer
2004-04-15 16:02:42 +00:00
parent de51a91db3
commit a3d9d7b58b
6 changed files with 12 additions and 6 deletions

View File

@@ -197,9 +197,10 @@ static int gsm_seek(struct ast_filestream *fs, long sample_offset, int whence)
offset = distance + cur;
else if(whence == SEEK_END)
offset = max - distance;
// Always protect against seeking past the begining.
offset = (offset < min)?min:offset;
if (whence != SEEK_FORCECUR) {
offset = (offset > max)?max:offset;
offset = (offset < min)?min:offset;
} else if (offset > max) {
int i;
lseek(fs->fd, 0, SEEK_END);