[Tarantool-patches] [PATCH v2] build: GCC warning on strncpy

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Thu Nov 28 02:40:00 MSK 2019


Thanks for the patch!

I see, that you've sent this patch in the same email
thread as another totally unrelated patch about 4262
ticket. Please, don't try to batch not related emails.

If a patch consists of one commit, it should be sent
as one thread with a single email in it.

This patch LGTM.

On 27/11/2019 22:30, Chris Sosnin wrote:
> 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