diff options
author | Andreas Huber <andih@google.com> | 2011-03-21 14:16:03 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2011-03-21 14:16:03 -0700 |
commit | e2c32e9f966cf9f2c9ed94bf0703344a2cca284b (patch) | |
tree | d6038a3847bf6f2aaccb06a7c6921015f0e9645d /media | |
parent | 0b933c02dddbc325498b3b73d8be9167b155801b (diff) | |
download | frameworks_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.cpp | 4 |
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; |