From 1b41d44972c2c4bdce23c2400c3d7b7604387c65 Mon Sep 17 00:00:00 2001 From: Marco Nelissen Date: Thu, 6 Feb 2020 09:10:40 -0800 Subject: [PATCH] Avoid reading at negative offsets PlayerServiceFileSource had the same logic as FileSource that could cause reading at negative data source offsets, so fix that too. Test: build Bug: 141242340 Change-Id: I60226d85ece83339444d9ec1c0a741271e33e127 --- .../datasource/PlayerServiceFileSource.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/media/libmediaplayerservice/datasource/PlayerServiceFileSource.cpp b/media/libmediaplayerservice/datasource/PlayerServiceFileSource.cpp index bb4ba75a46..4d95de5262 100644 --- a/media/libmediaplayerservice/datasource/PlayerServiceFileSource.cpp +++ b/media/libmediaplayerservice/datasource/PlayerServiceFileSource.cpp @@ -71,6 +71,9 @@ ssize_t PlayerServiceFileSource::readAt(off64_t offset, void *data, size_t size) Mutex::Autolock autoLock(mLock); if (mLength >= 0) { + if (offset < 0) { + return UNKNOWN_ERROR; + } if (offset >= mLength) { return 0; // read beyond EOF. }