diff options
author | Mathias Agopian <mathias@google.com> | 2009-10-06 15:58:44 -0700 |
---|---|---|
committer | Mathias Agopian <mathias@google.com> | 2009-10-07 18:03:35 -0700 |
commit | 0da41a3635180398ae6cbf1ff75575f5dcb6e40b (patch) | |
tree | b8b806bfc7a287e95ab1d99e60c389d704f89720 /libs/ui | |
parent | a2de8e31c2693d009db1f9386406758874dd1d40 (diff) | |
download | frameworks_base-0da41a3635180398ae6cbf1ff75575f5dcb6e40b.zip frameworks_base-0da41a3635180398ae6cbf1ff75575f5dcb6e40b.tar.gz frameworks_base-0da41a3635180398ae6cbf1ff75575f5dcb6e40b.tar.bz2 |
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.
Diffstat (limited to 'libs/ui')
-rw-r--r-- | libs/ui/Surface.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libs/ui/Surface.cpp b/libs/ui/Surface.cpp index 2d83a8c..f51ca7a 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; |