ACodec: ignore OMX messages to already freed component

Bug: 12916984
Change-Id: I92848797b8d556cff468b9b0f0a618946083208f
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp
index 9164e5c..ac40568 100644
--- a/media/libstagefright/ACodec.cpp
+++ b/media/libstagefright/ACodec.cpp
@@ -3103,6 +3103,14 @@
     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);