Andrew Geissler | 6972109 | 2021-07-23 12:57:00 -0400 | [diff] [blame^] | 1 | Origin: https://github.com/GENIVI/dlt-daemon/pull/317 |
| 2 | From 55d31216823841a1547fe261cdf8e3b1002d5f94 Mon Sep 17 00:00:00 2001 |
| 3 | From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it> |
| 4 | Date: Thu, 1 Jul 2021 12:58:20 +0200 |
| 5 | Subject: [PATCH] dlt-control-common.c: Fix build failure due to out-of-bound |
| 6 | write -Werror=stringop-truncation |
| 7 | |
| 8 | cd /build/dlt-daemon-2.18.7/obj-x86_64-linux-gnu/src/console/logstorage && /usr/bin/cc -DCONFIGURATION_FILES_DIR=\"/etc\" -DDLT_DAEMON_USE_FIFO_IPC -DDLT_LIB_USE_FIFO_IPC -DDLT_NETWORK_TRACE_ENABLE -DDLT_SYSTEMD_ENABLE -DDLT_SYSTEMD_JOURNAL_ENABLE -DDLT_UNIT_TESTS -DDLT_USER_IPC_PATH=\"/tmp\" -DDLT_USE_IPv6 -DEXTENDED_FILTERING -D_GNU_SOURCE -I/build/dlt-daemon-2.18.7 -I/build/dlt-daemon-2.18.7/obj-x86_64-linux-gnu/include/dlt -I/build/dlt-daemon-2.18.7/include/dlt -I/build/dlt-daemon-2.18.7/src/shared -I/build/dlt-daemon-2.18.7/src/core_dump_handler -I/build/dlt-daemon-2.18.7/src/offlinelogstorage -I/build/dlt-daemon-2.18.7/src/lib -I/build/dlt-daemon-2.18.7/src/daemon -I/build/dlt-daemon-2.18.7/src/console -I/build/dlt-daemon-2.18.7/src/gateway -I/build/dlt-daemon-2.18.7/systemd/3rdparty -g -O2 -ffile-prefix-map=/build/dlt-daemon-2.18.7=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Werror -std=gnu99 -Wall -Wextra -Wno-variadic-macros -Wno-strict-aliasing -o CMakeFiles/dlt-logstorage-ctrl.dir/__/dlt-control-common.c.o -c /build/dlt-daemon-2.18.7/src/console/dlt-control-common.c |
| 9 | make[3]: Leaving directory '/build/dlt-daemon-2.18.7/obj-x86_64-linux-gnu' |
| 10 | In file included from /usr/include/string.h:495, |
| 11 | from /build/dlt-daemon-2.18.7/src/console/dlt-control-common.c:56: |
| 12 | In function 'strncpy', |
| 13 | inlined from 'dlt_json_filter_load' at /build/dlt-daemon-2.18.7/src/console/dlt-control-common.c:716:13: |
| 14 | /usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 4 equals destination size [-Werror=stringop-truncation] |
| 15 | 106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest)); |
| 16 | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 17 | In function 'strncpy', |
| 18 | inlined from 'dlt_json_filter_load' at /build/dlt-daemon-2.18.7/src/console/dlt-control-common.c:721:13: |
| 19 | /usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 4 equals destination size [-Werror=stringop-truncation] |
| 20 | 106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest)); |
| 21 | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 22 | |
| 23 | Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it> |
| 24 | Signed-off-by: Gianfranco Costamagna <locutusofborg@debian.org> |
| 25 | --- |
| 26 | src/console/dlt-control-common.c | 4 ++-- |
| 27 | 1 file changed, 2 insertions(+), 2 deletions(-) |
| 28 | |
| 29 | diff --git a/src/console/dlt-control-common.c b/src/console/dlt-control-common.c |
| 30 | index 8a9d29f0..f58d8268 100644 |
| 31 | --- a/src/console/dlt-control-common.c |
| 32 | +++ b/src/console/dlt-control-common.c |
| 33 | @@ -671,8 +671,8 @@ DltReturnValue dlt_json_filter_load(DltFilter *filter, const char *filename, int |
| 34 | struct json_object *j_payload_max; |
| 35 | enum json_tokener_error jerr; |
| 36 | |
| 37 | - char app_id[DLT_ID_SIZE] = ""; |
| 38 | - char context_id[DLT_ID_SIZE] = ""; |
| 39 | + char app_id[DLT_ID_SIZE + 1] = ""; |
| 40 | + char context_id[DLT_ID_SIZE + 1] = ""; |
| 41 | int32_t log_level = 0; |
| 42 | int32_t payload_max = INT32_MAX; |
| 43 | int32_t payload_min = 0; |