From 4d2dbebf3d08209f751585d8cc367369e2f6e32f Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Thu, 9 Jul 2009 18:16:43 -0700 Subject: fix for [1885684] E/SurfaceFlinger( 60): not enough memory for layer bitmap size=4294938624 --- libs/surfaceflinger/SurfaceFlinger.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'libs/surfaceflinger/SurfaceFlinger.cpp') diff --git a/libs/surfaceflinger/SurfaceFlinger.cpp b/libs/surfaceflinger/SurfaceFlinger.cpp index ef4a8ea..fb25663 100644 --- a/libs/surfaceflinger/SurfaceFlinger.cpp +++ b/libs/surfaceflinger/SurfaceFlinger.cpp @@ -1236,6 +1236,13 @@ sp SurfaceFlinger::createSurface(ClientID clientId, int pid, { LayerBaseClient* layer = 0; sp surfaceHandle; + + if (int32_t(w|h) < 0) { + LOGE("createSurface() failed, w or h is negative (w=%d, h=%d)", + int(w), int(h)); + return surfaceHandle; + } + Mutex::Autolock _l(mStateLock); Client* const c = mClientsMap.valueFor(clientId); if (UNLIKELY(!c)) { -- cgit v1.1