diff options
-rw-r--r-- | apps/buffering.c | 3 | ||||
-rw-r--r-- | apps/playback.c | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/apps/buffering.c b/apps/buffering.c index 531413bcb4..2d7ca22368 100644 --- a/apps/buffering.c +++ b/apps/buffering.c @@ -880,6 +880,9 @@ int bufopen(const char *file, size_t offset, enum data_type type) size_t size = filesize(fd); bool can_wrap = type==TYPE_PACKET_AUDIO || type==TYPE_CODEC; + if (offset > size) + offset = 0; + struct memory_handle *h = add_handle(size-offset, can_wrap, false); if (!h) { diff --git a/apps/playback.c b/apps/playback.c index 1e5cd626de..ed581cd36a 100644 --- a/apps/playback.c +++ b/apps/playback.c @@ -1683,6 +1683,9 @@ static bool audio_load_track(int offset, bool start_play) tracks[track_widx].filesize = filesize(fd); + if ((unsigned)offset > tracks[track_widx].filesize) + offset = 0; + /* Set default values */ if (start_play) { |