From: Jihoon Kim Date: Wed, 7 Sep 2016 23:08:28 +0000 (+0900) Subject: Fix issues detected by static analysis tool X-Git-Tag: accepted/tizen/common/20160912.181453~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F91%2F87391%2F2;p=platform%2Fcore%2Fuifw%2Fise-default.git 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 --- 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;