summaryrefslogtreecommitdiffstats
path: root/media/libmedia/IEffect.cpp
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2013-11-20 14:37:13 -0800
committerGlenn Kasten <gkasten@google.com>2013-11-20 14:51:13 -0800
commita1d401d9f4a6ba477f0e07204e0b9481befcc928 (patch)
treee69861e0db24437dfe302e29e84980a8ea3e9f4e /media/libmedia/IEffect.cpp
parente75da4004b2c814987aa2adf8a76190f92d99c65 (diff)
downloadframeworks_av-a1d401d9f4a6ba477f0e07204e0b9481befcc928.zip
frameworks_av-a1d401d9f4a6ba477f0e07204e0b9481befcc928.tar.gz
frameworks_av-a1d401d9f4a6ba477f0e07204e0b9481befcc928.tar.bz2
Check all server-provided sp<IMemory>
If the sp<IMemory> from server is non-0, make sure it also has a non-NULL pointer(). If it is NULL, treat it as if the sp<> was 0. Change-Id: I6d0bd786587eb73fac38af787c11eba541880685
Diffstat (limited to 'media/libmedia/IEffect.cpp')
-rw-r--r--media/libmedia/IEffect.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/media/libmedia/IEffect.cpp b/media/libmedia/IEffect.cpp
index a303a8f..b94012a 100644
--- a/media/libmedia/IEffect.cpp
+++ b/media/libmedia/IEffect.cpp
@@ -117,6 +117,9 @@ public:
status_t status = remote()->transact(GET_CBLK, data, &reply);
if (status == NO_ERROR) {
cblk = interface_cast<IMemory>(reply.readStrongBinder());
+ if (cblk != 0 && cblk->pointer() == NULL) {
+ cblk.clear();
+ }
}
return cblk;
}