diff options
| author | 2015-02-19 01:06:53 +0000 | |
|---|---|---|
| committer | 2015-02-19 01:06:53 +0000 | |
| commit | a4201c10aeb977a6e4e8c1bcb9ceca5ab591d0ad (patch) | |
| tree | fe16d277cbd25ef5e7337245507792127b7093ea /libs/ui/GraphicBuffer.cpp | |
| parent | bf4fed779105fa61ca21888395517664de30e052 (diff) | |
| parent | 592cc33c408d5c91ad87e1a51d72269d4525a10b (diff) | |
am 592cc33c: am e86f7e96: am 3c0272ba: am dc2d031a: am da9fd70d: am 2758eb2e: am fde92eb0: Update maxNumber to be smaller.
* commit '592cc33c408d5c91ad87e1a51d72269d4525a10b':
Update maxNumber to be smaller.
Diffstat (limited to 'libs/ui/GraphicBuffer.cpp')
| -rw-r--r-- | libs/ui/GraphicBuffer.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libs/ui/GraphicBuffer.cpp b/libs/ui/GraphicBuffer.cpp index 425df389bf..638ac62991 100644 --- a/libs/ui/GraphicBuffer.cpp +++ b/libs/ui/GraphicBuffer.cpp @@ -323,7 +323,11 @@ status_t GraphicBuffer::unflatten( const size_t numFds = static_cast<size_t>(buf[8]); const size_t numInts = static_cast<size_t>(buf[9]); - const size_t maxNumber = UINT_MAX / sizeof(int); + // Limit the maxNumber to be relatively small. The number of fds or ints + // should not come close to this number, and the number itself was simply + // chosen to be high enough to not cause issues and low enough to prevent + // overflow problems. + const size_t maxNumber = 4096; if (numFds >= maxNumber || numInts >= (maxNumber - 10)) { width = height = stride = format = usage = 0; handle = NULL; |