[Intel-gfx] [PATCH i-g-t 2/3] Remove extra '\0' in strncpy in igt_save_module_param
Arkadiusz Hiler
arkadiusz.hiler at intel.com
Mon Jun 4 11:04:52 UTC 2018
Title is slightly missleading. We don't remove extra NULL characer from
anywhere. We just account for it by subtracting 1 from the destination
buffer size.
So maybe "Account for NULL character when using strncpy"?
On Tue, May 29, 2018 at 09:46:55PM -0300, Rodrigo Siqueira wrote:
> This patch fix the following gcc warning:
>
> warning: ‘strncpy’ specified bound 32 equals destination size
> [-Wstringop-truncation]
> strncpy(data->name, name, PARAM_NAME_MAX_SZ);
>
> This error happens due to the '\0' character appended by strncpy. Notice
> that reduces by one in the total of bytes to be copied, in this case, is
> harmless because the strings received in the parameter already have
> '\0'.
>
> Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo at gmail.com>
> ---
> lib/igt_aux.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/igt_aux.c b/lib/igt_aux.c
> index 5dd2761e..06f586d6 100644
> --- a/lib/igt_aux.c
> +++ b/lib/igt_aux.c
> @@ -1240,7 +1240,7 @@ static void igt_save_module_param(const char *name, const char *file_path)
> data = calloc(1, sizeof (*data));
> igt_assert(data);
>
> - strncpy(data->name, name, PARAM_NAME_MAX_SZ);
> + strncpy(data->name, name, PARAM_NAME_MAX_SZ - 1); // -1 because of '\0'
I am not necessary sure that the comment is needed, as "buflen - 1" is
quite typical.
--
Cheers,
Arek
More information about the Intel-gfx
mailing list