summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2011-03-21 14:16:03 -0700
committerAndreas Huber <andih@google.com>2011-03-21 14:16:03 -0700
commite2c32e9f966cf9f2c9ed94bf0703344a2cca284b (patch)
treed6038a3847bf6f2aaccb06a7c6921015f0e9645d /media
parent0b933c02dddbc325498b3b73d8be9167b155801b (diff)
downloadframeworks_base-e2c32e9f966cf9f2c9ed94bf0703344a2cca284b.zip
frameworks_base-e2c32e9f966cf9f2c9ed94bf0703344a2cca284b.tar.gz
frameworks_base-e2c32e9f966cf9f2c9ed94bf0703344a2cca284b.tar.bz2
If nothing is to be copied, return right away.
This avoids a potential out-of-bounds problem in the code below. Change-Id: I942d55da0a5288b37512cb74407f900a2d824c0c related-to-bug: 4139974
Diffstat (limited to 'media')
-rw-r--r--media/libstagefright/NuCachedSource2.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/media/libstagefright/NuCachedSource2.cpp b/media/libstagefright/NuCachedSource2.cpp
index c7b99b9..248b678 100644
--- a/media/libstagefright/NuCachedSource2.cpp
+++ b/media/libstagefright/NuCachedSource2.cpp
@@ -135,6 +135,10 @@ size_t PageCache::releaseFromStart(size_t maxBytes) {
void PageCache::copy(size_t from, void *data, size_t size) {
LOGV("copy from %d size %d", from, size);
+ if (size == 0) {
+ return;
+ }
+
CHECK_LE(from + size, mTotalSize);
size_t offset = 0;