return ret;
}
-static syscommon_plugin_backend_update_control_funcs plugin_funcs = {
- .update_control_initialize = update_control_initialize,
- .update_control_deinitialize = update_control_deinitialize,
- .update_control_check_new_version = update_control_check_new_version,
- .update_control_download_package = update_control_download_package,
- .update_control_do_update = update_control_do_update,
- .update_control_make_reservation = update_control_make_reservation,
- .update_control_cancel_reservation = update_control_cancel_reservation,
- .update_control_get_property = update_control_get_property,
-};
-
static int update_control_init(void **data)
{
- *data = (void *)&plugin_funcs;
+ syscommon_plugin_backend_update_control_funcs *plugin_funcs = NULL;
+
+ if (!data) {
+ _E("Invalid parameter: data is NULL");
+ return -EINVAL;
+ }
+
+ plugin_funcs = *((syscommon_plugin_backend_update_control_funcs **)data);
+ if (!plugin_funcs) {
+ _E("Invalid parameter: plugin_funcs is NULL");
+ return -EINVAL;
+ }
+
+ plugin_funcs->update_control_initialize = update_control_initialize;
+ plugin_funcs->update_control_deinitialize = update_control_deinitialize;
+ plugin_funcs->update_control_check_new_version = update_control_check_new_version;
+ plugin_funcs->update_control_download_package = update_control_download_package;
+ plugin_funcs->update_control_do_update = update_control_do_update;
+ plugin_funcs->update_control_make_reservation = update_control_make_reservation;
+ plugin_funcs->update_control_cancel_reservation = update_control_cancel_reservation;
+ plugin_funcs->update_control_get_property = update_control_get_property;
return 0;
}