summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
diff options
context:
space:
mode:
authorAmit Shekhar <ashekhar@codeaurora.org>2015-09-17 15:51:35 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2015-10-21 12:25:31 -0700
commit91ba994751d54026381d7718efbcc849a75c20fe (patch)
tree9a723e1533612c5b414e064200e0f9b41ab50d19 /media/libmediaplayerservice/nuplayer/NuPlayer.cpp
parentdc8d9caa08290a0907c23c7874bdca8b2d721634 (diff)
downloadframeworks_av-91ba994751d54026381d7718efbcc849a75c20fe.zip
frameworks_av-91ba994751d54026381d7718efbcc849a75c20fe.tar.gz
frameworks_av-91ba994751d54026381d7718efbcc849a75c20fe.tar.bz2
nuplayer: Fix de-referencing NULL mSource
InstantiateDecoderAction is executed after performing reset. By the time performReset call is over, mSource is cleared and instantiateDecoderAction is executed on a NULL mSource - causing crash. At this point of time, mSource is already reset and it is not intended to be used in future, so, we can safely return. Check for NULL to avoid crash. CRs-Fixed: 902831 Change-Id: If438da2b8c778c6db3640c0bc2e53d3ef68d286c
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayer.cpp')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayer.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
index 356c519..6305a02 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
@@ -1526,7 +1526,10 @@ status_t NuPlayer::instantiateDecoder(bool audio, sp<DecoderBase> *decoder) {
if (*decoder != NULL || (audio && mFlushingAudio == SHUT_DOWN)) {
return OK;
}
-
+ if (mSource == NULL) {
+ ALOGD("%s Ignore instantiate decoder after clearing source", __func__);
+ return INVALID_OPERATION;
+ }
sp<AMessage> format = mSource->getFormat(audio);
if (format == NULL) {