GVariant *value;
int i = 0;
int len = 0;
- size_t s = 0;
g_variant_get(parameters, "(u&s&s@as)", &target_uid, &arg_pkgtype,
&pkgpath, &value);
}
for (i = 0; i < args_count; i++) {
- strncat(args, tmp_args[i], len - s - 1);
- s += strlen(tmp_args[i]);
- if (i != args_count - 1) {
- strncat(args, " ", len - s - 1);
- s += strlen(" ");
- }
+ strncat(args, tmp_args[i], len - strlen(args) - 1);
+ if (i != args_count - 1)
+ strncat(args, " ", len - strlen(args) - 1);
}
if (target_uid == (uid_t)-1 || pkgpath == NULL) {
GVariant *value;
int i = 0;
int len = 0;
- size_t s = 0;
g_variant_get(parameters, "(u&s&s@as)", &target_uid, &arg_pkgtype,
&pkgpath, &value);
}
for (i = 0; i < args_count; i++) {
- strncat(args, tmp_args[i], len - s - 1);
- s += strlen(tmp_args[i]);
- if (i != args_count - 1) {
- strncat(args, " ", len - s - 1);
- s += strlen(" ");
- }
+ strncat(args, tmp_args[i], len - strlen(args) - 1);
+ if (i != args_count - 1)
+ strncat(args, " ", len - strlen(args) - 1);
}
if (target_uid == (uid_t)-1 || pkgpath == NULL) {
return 0;
}
-static int __convert_updateinfo_type(const char *type, pkgmgrinfo_updateinfo_update_type *converted_type)
-{
- if (type == NULL || converted_type == NULL)
- return -1;
-
- if (strncmp(type, PMINFO_UPDATEINFO_TYPE_NONE, strlen(PMINFO_UPDATEINFO_TYPE_NONE)) == 0)
- *converted_type = PMINFO_UPDATEINFO_NONE;
- else if (strncmp(type, PMINFO_UPDATEINFO_TYPE_FORCE, strlen(PMINFO_UPDATEINFO_TYPE_FORCE)) == 0)
- *converted_type = PMINFO_UPDATEINFO_FORCE;
- else if (strncmp(type, PMINFO_UPDATEINFO_TYPE_OPTIONAL, strlen(PMINFO_UPDATEINFO_TYPE_OPTIONAL)) == 0)
- *converted_type = PMINFO_UPDATEINFO_OPTIONAL;
- else
- return -1;
- return 0;
-}
-
static int __handle_request_register_pkg_update_info(
uid_t caller_uid, GDBusMethodInvocation *invocation,
GVariant *parameters)
if (ret != PMINFO_R_OK) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(i)", PKGMGR_R_ENOMEM));
+ pkgmgrinfo_updateinfo_destroy(update_info);
return -1;
}
if (ret != PMINFO_R_OK) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(i)", PKGMGR_R_ENOMEM));
+ pkgmgrinfo_updateinfo_destroy(update_info);
return -1;
}
if (ret != PMINFO_R_OK) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(i)", PKGMGR_R_ENOMEM));
+ pkgmgrinfo_updateinfo_destroy(update_info);
return -1;
}
reqkey = __generate_reqkey("register_pkg_update_info");
if (reqkey == NULL) {
+ pkgmgrinfo_updateinfo_destroy(update_info);
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(i)", PKGMGR_R_ENOMEM));
return -1;
if (_push_queue(target_uid, caller_uid, reqkey,
REQUEST_TYPE_REGISTER_PKG_UPDATE_INFO, "default",
- NULL, buf, update_info))
+ NULL, buf, update_info)) {
+ pkgmgrinfo_updateinfo_destroy(update_info);
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(i)", PKGMGR_R_ESYSTEM));
-
+ free(reqkey);
+ return -1;
+ }
if (!g_hash_table_insert(req_table, (gpointer)reqkey,
(gpointer)invocation))
ERR("reqkey already exists");
if (_push_queue(target_uid, caller_uid, reqkey,
REQUEST_TYPE_UNREGISTER_PKG_UPDATE_INFO, "default",
- pkgid, NULL, NULL))
+ pkgid, NULL, NULL)) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(i)", PKGMGR_R_ESYSTEM));
+ free(reqkey);
+ return -1;
+ }
if (!g_hash_table_insert(req_table, (gpointer)reqkey,
(gpointer)invocation))
if (_push_queue(target_uid, caller_uid, reqkey,
REQUEST_TYPE_UNREGISTER_ALL_PKG_UPDATE_INFO, "default",
- NULL, NULL, NULL))
+ NULL, NULL, NULL)) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)", PKGMGR_R_ESYSTEM, ""));
+ free(reqkey);
+ return -1;
+ }
if (!g_hash_table_insert(req_table, (gpointer)reqkey,
(gpointer)invocation))