From 0da41a3635180398ae6cbf1ff75575f5dcb6e40b Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Tue, 6 Oct 2009 15:58:44 -0700 Subject: fix [2170283] SurfaceFlinger crashes on OOM. when running out of memory, a null handle is returned but the error code may not be set. In that case we need to return NO_MEMORY instead of NO_ERROR, so that the calling code won't try to dereference the null pointer. --- libs/ui/Surface.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libs/ui/Surface.cpp') diff --git a/libs/ui/Surface.cpp b/libs/ui/Surface.cpp index 2d83a8c3106d..f51ca7a953c7 100644 --- a/libs/ui/Surface.cpp +++ b/libs/ui/Surface.cpp @@ -746,6 +746,8 @@ status_t Surface::getBufferLocked(int index, int usage) currentBuffer->setIndex(index); mNeedFullUpdate = true; } + } else { + err = err<0 ? err : NO_MEMORY; } } return err; -- cgit v1.2.3-59-g8ed1b