[SVACE] Add to check NULL value of `tw_get_instance()` 15/317615/2 accepted/tizen/unified/20250107.061434 accepted/tizen/unified/x/20250107.111421 accepted/tizen/unified/x/asan/20250113.002114
authorSeoyeon Kim <seoyeon2.kim@samsung.com>
Mon, 6 Jan 2025 03:03:27 +0000 (12:03 +0900)
committerSeoyeon Kim <seoyeon2.kim@samsung.com>
Mon, 6 Jan 2025 05:38:48 +0000 (14:38 +0900)
Change-Id: I92902010db993749d14556dacabc9577791d55dd
Signed-off-by: Seoyeon Kim <seoyeon2.kim@samsung.com>
src/screen_reader_tts.c

index d19a9f3340f772dde430d25e5d6737c60cc6d7e1..b5b1fd05f51c8a475b9ececb2dc03fdbca49e1fa 100644 (file)
@@ -173,12 +173,14 @@ void tw_set_utterance_cb(
                utterance_cb_t deleter)
 {
        TWData *tw = tw_get_instance();
-       if (tw->on_utterance_end_user_data && tw->on_utterance_end_deleter)
-               tw->on_utterance_end_deleter(tw->on_utterance_end_user_data);
+       if (tw) {
+               if (tw->on_utterance_end_user_data && tw->on_utterance_end_deleter)
+                       tw->on_utterance_end_deleter(tw->on_utterance_end_user_data);
 
-       tw->on_utterance_end = uter_cb;
-       tw->on_utterance_end_user_data = user_data;
-       tw->on_utterance_end_deleter = deleter;
+               tw->on_utterance_end = uter_cb;
+               tw->on_utterance_end_user_data = user_data;
+               tw->on_utterance_end_deleter = deleter;
+       }
 }
 
 static Eina_Bool _do_atspi_action_by_name(AtspiAccessible *obj, const char *name)
@@ -565,6 +567,8 @@ static bool have_read_command(TWData *tw)
 static Eina_Bool tw_speak_delay_finished_cb(void *d)
 {
        TWData *tw = tw_get_instance();
+       if (!tw)
+               return EINA_FALSE;
 
        tw->delay_timer = NULL;
        if (tw->last_read_command == d)
@@ -713,6 +717,8 @@ tw_speak_customized(const char *text_to_speak, Eina_Bool want_discard_previous_r
                                         Eina_Bool discardable, AtspiAccessible *obj, unsigned int delay)
 {
        TWData *tw = tw_get_instance();
+       if (!tw)
+               return EINA_FALSE;
 
        if (text_to_speak == NULL) return NULL;