1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
From 274558c2a8570ffe4aced6d1e45b4505a4b89489 Mon Sep 17 00:00:00 2001
From: Shangzhi-Xu <63028857+ShangzhiXu@users.noreply.github.com>
Date: Fri, 26 Dec 2025 23:14:18 +1100
Subject: [PATCH] Fix buffer size issue in filter name generation
---
src/console/dlt-control-common.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
Index: dlt-daemon/src/console/dlt-control-common.c
===================================================================
--- dlt-daemon.orig/src/console/dlt-control-common.c
+++ dlt-daemon/src/console/dlt-control-common.c
@@ -900,8 +900,8 @@ DltReturnValue dlt_json_filter_save(DltF
for (int num = 0; num < filter->counter; num++) {
struct json_object *tmp_json_obj = json_object_new_object();
- char filter_name[JSON_FILTER_NAME_SIZE];
- sprintf(filter_name, "filter%i", num);
+ char filter_name[JSON_FILTER_NAME_SIZE + 1];
+ snprintf(filter_name, sizeof(filter_name), "filter%i", num);
if (filter->apid[num][DLT_ID_SIZE - 1] != 0)
json_object_object_add(tmp_json_obj, "AppId", json_object_new_string_len(filter->apid[num], DLT_ID_SIZE));
@@ -922,7 +922,7 @@ DltReturnValue dlt_json_filter_save(DltF
}
printf("Saving current filter into '%s'\n", filename);
- json_object_to_file((char*)filename, json_filter_obj);
+ json_object_to_file(filename, json_filter_obj);
return DLT_RETURN_OK;
}
@@ -944,8 +944,8 @@ DltReturnValue dlt_json_filter_save(DltF
json_encoder_start_object(j_encoder, NULL);
for (int num = 0; num < filter->counter; num++) {
- char filter_name[JSON_FILTER_NAME_SIZE];
- sprintf(filter_name, "filter%i", num);
+ char filter_name[JSON_FILTER_NAME_SIZE + 1];
+ snprintf(filter_name, sizeof(filter_name), "filter%i", num);
json_encoder_start_object(j_encoder, filter_name);
strncpy(s_app_id, filter->apid[num], DLT_ID_SIZE);
|