summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/buffering.c3
-rw-r--r--apps/playback.c3
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)
{