if (!strncmp(argv[i], "--node=", sizeof("--node=") - 1))
{
tmp = argv[i] + sizeof("--node=") - 1;
- strncpy(node, tmp, strlen(tmp));
+ if (strlen(tmp) > sizeof(node))
+ {
+ printf("Please input correct device node. The length should be less than 20\n");
+ return;
+ }
+ strncpy(node, tmp, sizeof(node) - 1);
type = 0x0;
break;
}
else if (!strncmp(argv[i], "--name=", sizeof("--name=") - 1))
{
tmp = argv[i] + sizeof("--name=") - 1;
- strncpy(name, tmp, strlen(tmp));
+ if (strlen(tmp) > sizeof(name))
+ {
+ printf("Please iuput correct device name. The length should be less than 80\n");
+ return;
+ }
+ strncpy(name, tmp, sizeof(name) - 1);
}
else
{
if (type)
{
if (name[0] == '\0')
- snprintf(name, sizeof("E_Info_Device"), "E_Info_Device");
+ snprintf(name, sizeof(name), "E_Info_Device");
}
else
{
- snprintf(name, sizeof(node), "%s", node);
+ snprintf(name, sizeof(name), "%s", node);
}
if (!_e_info_client_eldbus_message_with_args("init_device", _e_info_client_cb_init_device, "us", type, name))
if (!strncmp(argv[i], "--name=", sizeof("--name=") - 1))
{
tmp = argv[i] + sizeof("--name=") - 1;
- strncpy(name, tmp, strlen(tmp));
+
+ if (strlen(tmp) > sizeof(name))
+ {
+ printf("Please input correct keyname. The length should be less than 16\n");
+ return;
+ }
+ strncpy(name, tmp, sizeof(name) - 1);
}
else if (!strncmp(argv[i], "--code=", sizeof("--code=") - 1))
{