[Tarantool-patches] [PATCH v2] build: GCC warning on strncpy
Chris Sosnin
k.sosnin at tarantool.org
Thu Nov 28 00:30:37 MSK 2019
Thank you for the review!
See second version below.
branch: https://github.com/tarantool/tarantool/tree/ksosnin/gh-4515-build-warning
issue: https://github.com/tarantool/tarantool/issues/4515
As long as we are sure, that strlen(sd_unix_path) < sizeof(sa.sun_path)
we can assume that there is always enough space and the path will be
null-terminated. Thus, copy 1 byte less to get rid of the warning.
Closes #4515
---
src/systemd.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/systemd.c b/src/systemd.c
index 6686c3ce0..c80259f06 100644
--- a/src/systemd.c
+++ b/src/systemd.c
@@ -67,7 +67,7 @@ int systemd_init() {
.sun_path = { '\0' }
};
if (strlen(sd_unix_path) >= sizeof(sa.sun_path)) {
- say_error("systemd: NOTIFY_SOCKET is longer that MAX_UNIX_PATH");
+ say_error("systemd: NOTIFY_SOCKET is longer than MAX_UNIX_PATH");
goto error;
}
if ((systemd_fd = socket(AF_UNIX, SOCK_DGRAM, 0)) == -1) {
@@ -117,7 +117,7 @@ int systemd_notify(const char *message) {
.sun_family = AF_UNIX,
};
- strncpy(sa.sun_path, sd_unix_path, sizeof(sa.sun_path));
+ strncpy(sa.sun_path, sd_unix_path, sizeof(sa.sun_path) - 1);
if (sa.sun_path[0] == '@')
sa.sun_path[0] = '\0';
--
2.21.0 (Apple Git-122.2)
More information about the Tarantool-patches
mailing list