ACK: [PATCH] lib: fwts_framework: use strlcpy instead of strncpy, fixes gcc-10 build errors
Alex Hung
alex.hung at canonical.com
Wed Nov 6 17:05:03 UTC 2019
On 2019-11-04 4:52 a.m., Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> In function ‘fwts_framework_strtrunc’,
> inlined from ‘fwts_framework_minor_test_progress’ at fwts_framework.c:470:3:
> fwts_framework.c:374:3: error: ‘strncpy’ output may be truncated copying between 0 and 247 bytes from a string of length 1023 [-Werror=stringop-truncation]
> 374 | strncpy(dest, src, max);
> | ^~~~~~~~~~~~~~~~~~~~~~~
> In function ‘fwts_framework_strtrunc’,
> inlined from ‘fwts_framework_run_test.isra’ at fwts_framework.c:596:4:
> fwts_framework.c:374:3: error: ‘strncpy’ specified bound 1024 equals destination size [-Werror=stringop-truncation]
> 374 | strncpy(dest, src, max);
> | ^~~~~~~~~~~~~~~~~~~~~~~
> In function ‘fwts_framework_strtrunc’,
> inlined from ‘fwts_framework_run_test.isra’ at fwts_framework.c:695:4:
> fwts_framework.c:374:3: error: ‘strncpy’ specified bound 1024 equals destination size [-Werror=stringop-truncation]
> 374 | strncpy(dest, src, max);
> | ^~~~~~~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
> src/lib/src/fwts_framework.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/src/lib/src/fwts_framework.c b/src/lib/src/fwts_framework.c
> index 698fa49a..8bc7b0e0 100644
> --- a/src/lib/src/fwts_framework.c
> +++ b/src/lib/src/fwts_framework.c
> @@ -26,6 +26,7 @@
> #include <ctype.h>
> #include <time.h>
> #include <getopt.h>
> +#include <bsd/string.h>
> #include <sys/utsname.h>
> #include <sys/time.h>
>
> @@ -371,9 +372,9 @@ static void fwts_framework_show_tests(fwts_framework *fw, const bool full)
> static void fwts_framework_strtrunc(char *dest, const char *src, size_t max)
> {
> if (src) {
> - strncpy(dest, src, max);
> + strlcpy(dest, src, max);
> if ((max > 3) && (strlen(src) > max)) {
> - dest[max-1] = 0;
> + dest[max-1] = '\0';
> dest[max-2] = '.';
> dest[max-3] = '.';
> }
>
Acked-by: Alex Hung <alex.hung at canonical.com>
More information about the fwts-devel
mailing list