diff options
| -rw-r--r-- | apps/talk.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/apps/talk.c b/apps/talk.c index 9f31645..c327487 100644 --- a/apps/talk.c +++ b/apps/talk.c @@ -540,7 +540,9 @@ void talk_init(void) reset_state(); /* use this for most of our inits */ filehandle = open_voicefile(); - has_voicefile = (filehandle >= 0); /* test if we can open it */ + size_t audiobufsz = audiobufend - audiobuf; + /* test if we can open and if it fits in the audiobuffer */ + has_voicefile = filehandle >= 0 && filesize(filehandle) > (off_t)audiobufsz; voicefile_size = 0; if (has_voicefile) |