--- asterisk-1.4.23.1/main/file.c.orig 2009-02-23 15:04:39.000000000 -0400 +++ asterisk-1.4.23.1/main/file.c 2009-02-23 15:06:39.000000000 -0400 @@ -1209,7 +1209,13 @@ } else { res = fr->subclass; if (strchr(forward,res)) { + int eoftest; ast_stream_fastforward(c->stream, skip_ms); + eoftest = fgetc(c->stream->f); + if (feof(c->stream->f)) { + ast_log(LOG_WARNING,"fast forward past end of message\n"); + ast_stream_rewind(c->stream, skip_ms); + } else ungetc(eoftest, c->stream->f); } else if (strchr(rewind,res)) { ast_stream_rewind(c->stream, skip_ms); } else if (strchr(breakon, res)) {