diff options
| author | 2014-07-22 15:55:08 -0700 | |
|---|---|---|
| committer | 2014-07-22 17:47:03 -0700 | |
| commit | 18fae75350bcd5f19ef90afb533e3fbedfd4c83b (patch) | |
| tree | 37391221cefde051b250b645f07b57b83bc42723 /libs/ui/GraphicBuffer.cpp | |
| parent | 78014f32da6d0ebf52fb34ebb7663863000520a0 (diff) | |
crash if getNativeBuffer() called on NULL GraphicBuffer
If getNativeBuffer() is called on a NULL GraphicBuffer the
static_cast of this from GraphicBuffer* to ANativeWindowBuffer*
will return a small pointer like (ANativeWindowBuffer*)0x10.
This value can propagate past NULL checks until it causes a crash
far away from the original NULL pointer.  Crash immediately
instead.
Change-Id: Id614b9eb1484108b3c3c733545309844c4b87532
Diffstat (limited to 'libs/ui/GraphicBuffer.cpp')
| -rw-r--r-- | libs/ui/GraphicBuffer.cpp | 1 | 
1 files changed, 1 insertions, 0 deletions
diff --git a/libs/ui/GraphicBuffer.cpp b/libs/ui/GraphicBuffer.cpp index e21dc53ca5..9b0bd601cb 100644 --- a/libs/ui/GraphicBuffer.cpp +++ b/libs/ui/GraphicBuffer.cpp @@ -126,6 +126,7 @@ void GraphicBuffer::dumpAllocationsToSystemLog()  ANativeWindowBuffer* GraphicBuffer::getNativeBuffer() const  { +    LOG_ALWAYS_FATAL_IF(this == NULL, "getNativeBuffer() called on NULL GraphicBuffer");      return static_cast<ANativeWindowBuffer*>(              const_cast<GraphicBuffer*>(this));  }  |