diff options
author | Tatenda Chipeperekwa <tatendac@codeaurora.org> | 2014-10-29 16:47:19 -0700 |
---|---|---|
committer | Dan Stoza <stoza@google.com> | 2015-06-11 12:28:41 -0700 |
commit | 40da48bfdf5d2d199aac55891d2f37822cdbee88 (patch) | |
tree | 4b25485717775b74f28e6ea75d73f5d4b1c33f9d /services/surfaceflinger | |
parent | ffe3e96afe99e94904ca0c8f458a3eb708d78066 (diff) | |
download | frameworks_native-40da48bfdf5d2d199aac55891d2f37822cdbee88.zip frameworks_native-40da48bfdf5d2d199aac55891d2f37822cdbee88.tar.gz frameworks_native-40da48bfdf5d2d199aac55891d2f37822cdbee88.tar.bz2 |
sf: Add a NULL check in getDisplayConfigs
Validate the display binder by adding a NULL check in getDisplayConfigs.
This will prevent a false match if the caller queries the display
configs for an inactive display (whose binder is NULL by default).
Without this change we might end up attempting to index the display
config array, which is unpopulated for inactive displays, and this will
result in a crash. (See getDisplayInfo in SurfaceComposerClient.cpp for
an example of this scenario)
Change-Id: Ib32a7dc8378d3438df0dba1ecd608bbcfc837717
Diffstat (limited to 'services/surfaceflinger')
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 2e6d2b6..067ac69 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -546,7 +546,7 @@ bool SurfaceFlinger::authenticateSurfaceTexture( status_t SurfaceFlinger::getDisplayConfigs(const sp<IBinder>& display, Vector<DisplayInfo>* configs) { - if (configs == NULL) { + if ((configs == NULL) || (display.get() == NULL)) { return BAD_VALUE; } |