From 7c86906f1dd0b5b98e942529f8811b6057ec1997 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Thu, 8 Sep 2016 08:08:28 +0900 Subject: [PATCH] Fix issues detected by static analysis tool after having been compared to NULL value at ise-stt-mode.cpp:216, pointer 'vd' is dereferenced at ise-stt-mode.cpp:232. Return value of a function 'operator new' is dereferenced at ise-stt-mode.cpp:225 without checking, but it is usually checked for this function (12/14). Change-Id: I58c3d768c1ceb74160bc0b29e9f1b65366c59f09 Signed-off-by: Jihoon Kim --- src/ise-stt-mode.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/ise-stt-mode.cpp b/src/ise-stt-mode.cpp index bf2ed18..41c3461 100644 --- a/src/ise-stt-mode.cpp +++ b/src/ise-stt-mode.cpp @@ -205,24 +205,27 @@ bool _app_stt_initialize(VoiceData *voice_data) { LOGD("_app_stt_initialize "); VoiceData *vd = (VoiceData *)voice_data; + if (!vd) return false; try { - if (vd != NULL && vd->sttmanager) { + if (vd->sttmanager) { vd->sttmanager->Cancel(); delete vd->sttmanager; vd->sttmanager = NULL; } - if (vd != NULL && vd->sttfeedback) { + if (vd->sttfeedback) { delete vd->sttfeedback; vd->sttfeedback = NULL; } vd->sttfeedback = new is::stt::SttFeedback(); - vd->sttfeedback->SetVoiceData(vd); + if (vd->sttfeedback) + vd->sttfeedback->SetVoiceData(vd); vd->sttmanager = new is::stt::SttManager(*(vd->sttfeedback)); - vd->sttmanager->Prepare(); + if (vd->sttmanager) + vd->sttmanager->Prepare(); } catch(std::exception &e) { LOGD("%s", e.what()); return false; -- 2.7.4