return THEME_MANAGER_ERROR_INVALID_PARAMETER;
}
- auto* p = new std::shared_ptr<ThemeInfoLoader>(
- std::make_shared<ThemeInfoLoader>());
- if (p == nullptr) {
+ std::shared_ptr<ThemeInfoLoader>* p;
+ try {
+ p = new std::shared_ptr<ThemeInfoLoader>(
+ std::make_shared<ThemeInfoLoader>());
+ } catch (const std::bad_alloc& e) {
LOG(ERROR) << "Out of memory";
return THEME_MANAGER_ERROR_OUT_OF_MEMORY;
}
LOG(ERROR) << "Failed to load current theme";
return THEME_MANAGER_ERROR_NO_SUCH_THEME;
}
- *cur_theme = static_cast<theme_h>(new std::shared_ptr<ThemeInfo>(theme_info));
+
+ try {
+ *cur_theme = static_cast<theme_h>(
+ new std::shared_ptr<ThemeInfo>(theme_info));
+ } catch (const std::bad_alloc& e) {
+ LOG(ERROR) << "Out of memory";
+ return THEME_MANAGER_ERROR_OUT_OF_MEMORY;
+ }
+
return THEME_MANAGER_ERROR_NONE;
}
LOG(ERROR) << "Failed to load theme " << id;
return THEME_MANAGER_ERROR_NO_SUCH_THEME;
}
- *theme = static_cast<theme_h>(new std::shared_ptr<ThemeInfo>(theme_info));
+
+ try {
+ *theme = static_cast<theme_h>(new std::shared_ptr<ThemeInfo>(theme_info));
+ } catch (const std::bad_alloc& e) {
+ LOG(ERROR) << "Out of memory";
+ return THEME_MANAGER_ERROR_OUT_OF_MEMORY;
+ }
+
return THEME_MANAGER_ERROR_NONE;
}
return THEME_MANAGER_ERROR_INVALID_PARAMETER;
}
- std::shared_ptr<IThemeEvent> event_handler(new ThemeEventHandler(
- changed, user_data));
- if (event_handler.get() == nullptr) {
+ std::shared_ptr<IThemeEvent> event_handler;
+ try {
+ event_handler = std::make_shared<ThemeEventHandler>(changed, user_data);
+ } catch (const std::bad_alloc& e) {
LOG(ERROR) << "Out of memory";
return THEME_MANAGER_ERROR_OUT_OF_MEMORY;
}
const std::string& pkgid, const std::string& path, bool is_default,
bool auto_file_key_gen) {
uid_t uid;
- int r = pkgmgr_installer_info_get_target_uid(&uid);
- if (r < 0) {
- LOG(ERROR) << "Failed to get target uid";
- return false;
- }
+ // always return 0
+ pkgmgr_installer_info_get_target_uid(&uid);
ThemeParser parser(path, auto_file_key_gen);
ThemeInfo theme = parser.Inflate(id, pkgid, uid, is_default);