void CWakeupSettings::set_default_assistant_appid(std::string appid)
{
+ if (appid.empty()) {
+ MWR_LOGE("appid is NULL");
+ return;
+ }
if (appid.compare(get_default_assistant_appid()) == 0) {
MWR_LOGE("Default assistant appid not changed, ignoring...");
return;
typedef struct {
int id;
- char* wakeup_word;
- char* wakeup_appid;
- unsigned char* extra_data;
- size_t extra_data_length;
- char* extra_data_desc;
- CServicePlugin* plugin;
+ char* wakeup_word{nullptr};
+ char* wakeup_appid{nullptr};
+ unsigned char* extra_data{nullptr};
+ size_t extra_data_length{0};
+ char* extra_data_desc{nullptr};
+ CServicePlugin* plugin{nullptr};
} AsyncParam;
bool CServicePlugin::is_ui_panel_enabled()
param->id = id;
param->wakeup_word = strdup(wakeup_word.c_str());
param->wakeup_appid = strdup(appid);
- param->extra_data = extra_data;
+ if (extra_data && extra_data_length > 0) {
+ param->extra_data = (unsigned char*)malloc(extra_data_length);
+ if (param->extra_data)
+ memcpy(param->extra_data, extra_data, extra_data_length);
+ }
param->extra_data_length = extra_data_length;
param->extra_data_desc = strdup(extra_data_desc.c_str());
param->plugin = plugin;
}
}
+ free(extra_data);
+ extra_data = nullptr;
+
MAS_LOGI("END");
return;
}