diff --git a/ani/settings/ani_settings_observer.cpp b/ani/settings/ani_settings_observer.cpp index 0c791f3438b8c7aaf98588a93f26289c5fa06f9a..bc773a93f102ae267cc41e09d8c0dc4465cfdf0a 100644 --- a/ani/settings/ani_settings_observer.cpp +++ b/ani/settings/ani_settings_observer.cpp @@ -278,7 +278,7 @@ ani_boolean ani_settings_register_observer( OHOS::Uri uri(strUri); sptr settingsObserver = sptr(new (std::nothrow) SettingsObserver(vm, observer, callbackInfo)); - if (settingsObserver->callback_ != nullptr) { + if (settingsObserver != nullptr && settingsObserver->callback_ != nullptr) { env->GlobalReference_Create(observer, &(settingsObserver->callback_)); }