Alloc memory for args dynamically.
Change-Id: I7ed8d06477836287a1d994088959c43324c13d80
Signed-off-by: Sangyoon Jang <s89.jang@samsung.com>
char pkg_type[MAX_PKG_TYPE_LEN];
char pkgid[MAX_PKG_NAME_LEN];
char appid[MAX_PKG_NAME_LEN];
- char args[MAX_PKG_ARGS_LEN];
+ char *args;
} pm_dbus_msg;
typedef struct backend_info_t {
char req_id[MAX_REQ_ID_LEN];
char pkgtype[MAX_PKG_TYPE_LEN];
char pkgid[MAX_PKG_NAME_LEN];
- char args[MAX_PKG_ARGS_LEN];
+ char *args;
} backend_info;
char *_get_backend_cmd(char *type);
strncpy(ptr->req_id, item->req_id, MAX_REQ_ID_LEN - 1);
strncpy(ptr->pkgtype, item->pkg_type, MAX_PKG_TYPE_LEN - 1);
strncpy(ptr->pkgid, item->pkgid, MAX_PKG_NAME_LEN - 1);
- strncpy(ptr->args, item->args, MAX_PKG_ARGS_LEN - 1);
+ free(ptr->args);
+ if (item->args)
+ ptr->args = strdup(item->args);
memset((item->appid), 0, MAX_PKG_NAME_LEN);
ptr->uid = item->uid;
ptr->req_type = item->req_type;
data->msg->uid = uid;
snprintf(data->msg->pkg_type, sizeof(data->msg->pkg_type), "%s", type);
snprintf(data->msg->pkgid, sizeof(data->msg->pkgid), "%s", pkgid);
- snprintf(data->msg->args, sizeof(data->msg->args), "%s", args);
+ if (args)
+ data->msg->args = strdup(args);
data->next = NULL;
ret->uid = cur->msg->uid;
snprintf(ret->pkg_type, sizeof(ret->pkg_type), "%s", cur->msg->pkg_type);
snprintf(ret->pkgid, sizeof(ret->pkgid), "%s", cur->msg->pkgid);
- snprintf(ret->args, sizeof(ret->args), "%s", cur->msg->args);
+ if (cur->msg->args)
+ ret->args = strdup(cur->msg->args);
ptr->head = cur->next;
saveptr = ptr->head;
prev->next = NULL;
}
+ free(head[c]->msg->args);
free(head[c]->msg);
free(head[c]);