diff options
author | Seung-Woo Kim <sw0312.kim@samsung.com> | 2019-12-23 19:48:32 +0900 |
---|---|---|
committer | Seung-Woo Kim <sw0312.kim@samsung.com> | 2019-12-27 10:57:22 +0900 |
commit | ea9c04d92770256fd1273493d07119bcc6f6b9e8 (patch) | |
tree | 8dd85d912515047e112ff9a1c06f7e2396bcb225 | |
parent | 607199f92b9d434bb0b345bf0268ffec92225a0f (diff) | |
download | linux-4.9-exynos9110-ea9c04d92770256fd1273493d07119bcc6f6b9e8.tar.gz linux-4.9-exynos9110-ea9c04d92770256fd1273493d07119bcc6f6b9e8.tar.bz2 linux-4.9-exynos9110-ea9c04d92770256fd1273493d07119bcc6f6b9e8.zip |
Input: zxt_ztm620_ts: Remove possible overflow by using strlcat()
The strncat() from a buffer to other buffer with same size can
make overflow. Remove the possible overflow by replacing strncat()
to strlcat().
Change-Id: I2d98f7548c87e048726bf4c3dc7ed942270565d9
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
-rw-r--r-- | drivers/input/touchscreen/zxt_ztm620_ts.c | 180 |
1 files changed, 63 insertions, 117 deletions
diff --git a/drivers/input/touchscreen/zxt_ztm620_ts.c b/drivers/input/touchscreen/zxt_ztm620_ts.c index f4d396469fb3..b1272fc33fcf 100644 --- a/drivers/input/touchscreen/zxt_ztm620_ts.c +++ b/drivers/input/touchscreen/zxt_ztm620_ts.c @@ -2444,9 +2444,9 @@ static struct tsp_cmd tsp_cmds[] = { {TSP_CMD("get_ssr_read", get_ssr_read),}, }; -static inline void set_cmd_result(struct tsp_factory_info *finfo, char *buff, int len) +static inline void set_cmd_result(struct tsp_factory_info *finfo, char *buff) { - strncat(finfo->cmd_result, buff, len); + strlcat(finfo->cmd_result, buff, sizeof(finfo->cmd_result)); } static inline void set_default_result(struct tsp_factory_info *finfo) @@ -2588,8 +2588,7 @@ static void run_connect_test(void *device_data) (int)strlen(finfo->cmd_buff)); out: - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); enable_irq(info->irq); return; @@ -2748,8 +2747,7 @@ static void fw_update(void *device_data) finfo->cmd_state = OK; snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff) , "%s", "OK"); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, (int)strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); @@ -2762,8 +2760,7 @@ err_open: set_fs(old_fs); update_fail: snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff) , "%s", "NG"); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); } #ifdef ZINITIX_FILE_DEBUG @@ -2812,8 +2809,7 @@ static void set_touchmode(void *device_data) finfo->cmd_state = FAIL; snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG"); } - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); } #endif @@ -2838,8 +2834,7 @@ static void set_touchreg(void *device_data) finfo->cmd_state = FAIL; snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG"); } - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); } static int read_fw_verify_result(struct ztm620_info *info) @@ -2897,8 +2892,7 @@ static void get_fw_verify_result(void *device_data) snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "OK,%04X", info->checksum); finfo->cmd_state = OK; out: - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); } static void get_touchreg(void *device_data) @@ -2920,8 +2914,7 @@ static void get_touchreg(void *device_data) finfo->cmd_state = FAIL; snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG"); } - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); } static void get_fw_ver_bin(void *device_data) @@ -2963,8 +2956,7 @@ static void get_fw_ver_bin(void *device_data) length = sizeof(vendor_id); snprintf(finfo->cmd_buff, length + 1, "%s", "ZI"); snprintf(finfo->cmd_buff + length, sizeof(finfo->cmd_buff) - length, "%06X", version); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -2997,8 +2989,7 @@ static void disable_factory_test(void *device_data) finfo->cmd_state = OK; snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "OK"); - set_cmd_result(finfo, finfo->cmd_buff, - (int)strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, (int)strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); @@ -3008,8 +2999,7 @@ static void disable_factory_test(void *device_data) out: finfo->cmd_state = FAIL; snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG"); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); } static void enable_factory_test(void *device_data) @@ -3036,8 +3026,7 @@ static void enable_factory_test(void *device_data) finfo->cmd_state = OK; snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "OK"); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, (int)strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); @@ -3047,8 +3036,7 @@ static void enable_factory_test(void *device_data) out: finfo->cmd_state = FAIL; snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG"); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); } static void get_fw_ver_ic(void *device_data) @@ -3099,8 +3087,7 @@ out: snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff) , "%s", "NG"); } - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, (int)strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); } @@ -3115,8 +3102,7 @@ static void get_threshold(void *device_data) snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%d", info->cap_info.threshold); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -3134,8 +3120,7 @@ static void get_chip_vendor(void *device_data) set_default_result(finfo); snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", ZTM620_VENDOR_NAME); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -3164,8 +3149,7 @@ static void get_chip_name(void *device_data) snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", ZT7538_CHIP_NAME); else snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", ZTM620_VENDOR_NAME); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -3184,8 +3168,7 @@ static void get_x_num(void *device_data) snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%u", info->cap_info.y_node_num); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -3204,8 +3187,7 @@ static void get_y_num(void *device_data) snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%u", info->cap_info.x_node_num); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -3223,8 +3205,7 @@ static void not_support_cmd(void *device_data) set_default_result(finfo); snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "NA"); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = NOT_APPLICABLE; mutex_lock(&finfo->cmd_lock); @@ -3253,8 +3234,7 @@ static void get_all_data(struct ztm620_info *info, if (!data) { dev_err(&client->dev, "%s: data is NULL\n", __func__); snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "FAIL"); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = FAIL; goto all_data_out; } @@ -3269,8 +3249,7 @@ static void get_all_data(struct ztm620_info *info, dev_info(&client->dev, "%s: Please do cmd_param '0' first\n", __func__); snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG"); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = NOT_APPLICABLE; goto all_data_out; } @@ -3311,8 +3290,7 @@ static void get_all_data(struct ztm620_info *info, dev_err(&client->dev, "%s: not defined data type\n", __func__); snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG"); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = NOT_APPLICABLE; devm_kfree(&client->dev, buff); goto all_data_out; @@ -3329,14 +3307,13 @@ static void get_all_data(struct ztm620_info *info, if (index == node_num) index = 0; - set_cmd_result(finfo, buff, TSP_CMD_RESULT_STR_LEN); + set_cmd_result(finfo, buff); finfo->cmd_state = OK; devm_kfree(&client->dev, buff); } else { snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "kzalloc failed"); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = NOT_APPLICABLE; } @@ -3469,8 +3446,7 @@ static void run_ssr_read(void *device_data) finfo->cmd_state = OK; snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%d,%d", min, max); out: - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); ret = ztm620_set_touchmode(info, TOUCH_POINT_MODE); if (ret) @@ -3501,8 +3477,7 @@ static void get_ssr_read(void *device_data) strcat(finfo->cmd_buff, " "); } - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -3553,8 +3528,7 @@ static void run_sfr_read(void *device_data) finfo->cmd_state = OK; snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%d,%d", min, max); out: - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); ret = ztm620_set_touchmode(info, TOUCH_POINT_MODE); if (ret) @@ -3585,8 +3559,7 @@ static void get_sfr_read(void *device_data) strcat(finfo->cmd_buff, " "); } - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -3655,8 +3628,7 @@ static void run_sfr_h_gap_read(void *device_data) pr_cont("\n"); } snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%d,%d", min, max); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: min:[%d], max:[%d]\n", __func__, min, max); @@ -3683,8 +3655,7 @@ static void get_sfr_h_gap_read(void *device_data) strcat(finfo->cmd_buff, " "); } - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -3745,8 +3716,7 @@ static void run_trx_short_read(void *device_data) snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "OK"); out: - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); ret = ztm620_set_touchmode(info, TOUCH_POINT_MODE); if (ret) @@ -3777,8 +3747,7 @@ static void get_trx_short_read(void *device_data) strcat(finfo->cmd_buff, " "); } - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -3833,8 +3802,7 @@ static void run_dnd_read(void *device_data) snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "OK"); out: - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); ret = ztm620_set_touchmode(info, TOUCH_POINT_MODE); if (ret) @@ -3862,7 +3830,7 @@ static void get_dnd(void *device_data) if (y_node < 0 || y_node >= info->cap_info.x_node_num) { snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG"); - set_cmd_result(finfo, finfo->cmd_buff, strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = FAIL; return; } @@ -3874,8 +3842,7 @@ static void get_dnd(void *device_data) strcat(finfo->cmd_buff, " "); } - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -3939,8 +3906,7 @@ static void run_dnd_v_gap_read(void *device_data) snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%d,%d", screen_max, touchkey_max); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; return; @@ -4008,8 +3974,7 @@ static void run_dnd_h_gap_read(void *device_data) snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%d,%d", screen_max, touchkey_max); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; return; @@ -4032,7 +3997,7 @@ static void get_dnd_h_gap(void *device_data) if (y_node < 0 || y_node >= x_num) { snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG"); - set_cmd_result(finfo, finfo->cmd_buff, strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = FAIL; return; } @@ -4044,8 +4009,7 @@ static void get_dnd_h_gap(void *device_data) strcat(finfo->cmd_buff, " "); } - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -4069,7 +4033,7 @@ static void get_dnd_v_gap(void *device_data) if (y_node < 0 || y_node >= x_num-1) { snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG"); - set_cmd_result(finfo, finfo->cmd_buff, strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = FAIL; return; } @@ -4081,8 +4045,7 @@ static void get_dnd_v_gap(void *device_data) strcat(finfo->cmd_buff, " "); } - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -4136,8 +4099,7 @@ static void run_hfdnd_read(void *device_data) finfo->cmd_state = OK; snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "OK"); out: - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); ret = ztm620_set_touchmode(info, TOUCH_POINT_MODE); if (ret) @@ -4164,7 +4126,7 @@ static void get_hfdnd(void *device_data) if (y_node < 0 || y_node >= info->cap_info.x_node_num) { snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG"); - set_cmd_result(finfo, finfo->cmd_buff, strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = FAIL; return; } @@ -4176,8 +4138,7 @@ static void get_hfdnd(void *device_data) strcat(finfo->cmd_buff, " "); } - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -4232,8 +4193,7 @@ static void run_hfdnd_v_gap_read(void *device_data) pr_cont("\n"); } - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -4258,7 +4218,7 @@ static void get_hfdnd_v_gap(void *device_data) if (y_node < 0 || y_node >= x_num-1) { snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG"); - set_cmd_result(finfo, finfo->cmd_buff, strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = FAIL; return; } @@ -4270,8 +4230,7 @@ static void get_hfdnd_v_gap(void *device_data) strcat(finfo->cmd_buff, " "); } - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -4331,8 +4290,7 @@ static void run_hfdnd_h_gap_read(void *device_data) pr_cont("\n"); } - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -4359,7 +4317,7 @@ static void get_hfdnd_h_gap(void *device_data) if (y_node < 0 || y_node >= x_num) { snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG"); - set_cmd_result(finfo, finfo->cmd_buff, strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = FAIL; return; } @@ -4371,8 +4329,7 @@ static void get_hfdnd_h_gap(void *device_data) strcat(finfo->cmd_buff, " "); } - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -4427,8 +4384,7 @@ static void run_delta_read(void *device_data) snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%d,%d", min, max); if (!info->get_all_data) { - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; } @@ -4461,8 +4417,7 @@ static void get_delta(void *device_data) if (x_node < 0 || x_node >= info->cap_info.x_node_num || y_node < 0 || y_node >= info->cap_info.y_node_num) { snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "abnormal"); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = FAIL; return; } @@ -4471,8 +4426,7 @@ static void get_delta(void *device_data) val = raw_data->delta_data[node_num]; snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%u", val); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -4510,8 +4464,7 @@ static void dead_zone_enable(void *device_data) finfo->cmd_state = OK; snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "OK"); err: - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, (int)strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); @@ -4544,8 +4497,7 @@ static void clear_cover_mode(void *device_data) info->cover_state = arg; ztm620_cover_set(info); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_is_running = false; finfo->cmd_state = OK; @@ -4611,8 +4563,7 @@ static void run_reference_read(void *device_data) } snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%d,%d", min, max); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; out: @@ -4644,8 +4595,7 @@ static void get_reference(void *device_data) if (x_node < 0 || x_node >= info->cap_info.x_node_num || y_node < 0 || y_node >= info->cap_info.y_node_num) { snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "abnormal"); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); info->factory_info->cmd_state = FAIL; return; @@ -4655,8 +4605,7 @@ static void get_reference(void *device_data) val = raw_data->reference_data[node_num]; snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%u", val); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d), x=%d, y=%d\n", __func__, finfo->cmd_buff, @@ -4703,8 +4652,7 @@ static void clear_reference_data(void *device_data) snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "OK"); out: - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -4739,8 +4687,7 @@ static void run_ref_calibration(void *device_data) enable_irq(info->irq); snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", ret ? "OK" : "NG"); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = OK; dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff, @@ -5020,8 +4967,7 @@ static ssize_t store_cmd(struct device *dev, struct device_attribute if (!info->device_enabled) { set_default_result(finfo); snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "FAIL"); - set_cmd_result(finfo, finfo->cmd_buff, - strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff))); + set_cmd_result(finfo, finfo->cmd_buff); finfo->cmd_state = FAIL; dev_err(&client->dev, "%s: TSP is not enabled.\n", __func__); goto err_out; |