From 5e184b0d12f1ec436246a391da8d9355cc21ee08 Mon Sep 17 00:00:00 2001 From: Lajos Molnar Date: Fri, 28 Mar 2014 14:37:51 -0700 Subject: [PATCH] ACodec: ignore OMX messages to already freed component Bug: 12916984 Change-Id: I92848797b8d556cff468b9b0f0a618946083208f --- media/libstagefright/ACodec.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp index 9164e5c6a0..ac40568d3a 100644 --- a/media/libstagefright/ACodec.cpp +++ b/media/libstagefright/ACodec.cpp @@ -3103,6 +3103,14 @@ bool ACodec::BaseState::onOMXMessage(const sp &msg) { int32_t type; CHECK(msg->findInt32("type", &type)); + // there is a possibility that this is an outstanding message for a + // codec that we have already destroyed + if (mCodec->mNode == NULL) { + ALOGI("ignoring message as already freed component: %s", + msg->debugString().c_str()); + return true; + } + IOMX::node_id nodeID; CHECK(msg->findPointer("node", &nodeID)); CHECK_EQ(nodeID, mCodec->mNode); -- 2.11.0