[PATCH v2 1/2] image: Fix string truncation warning
Michal Suchánek
msuchanek at suse.de
Thu Oct 13 15:50:28 CEST 2022
On Thu, Oct 13, 2022 at 10:16:56AM +0200, Michal Suchanek wrote:
> In file included from ../tools/imagetool.h:24,
> from ../tools/default_image.c:16:
> In function ‘image_set_name’,
> inlined from ‘image_set_header’ at ../tools/default_image.c:133:2:
> ../include/image.h:786:9: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
> 786 | strncpy(image_get_name(hdr), name, IH_NMLEN);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suggested-by: Rasmus Villemoes <rasmus.villemoes at prevas.dk>
> Signed-off-by: Michal Suchanek <msuchanek at suse.de>
> ---
>
> Changes in v2:
> Use __nonstring instead of suppressing the warning
>
> ---
> include/image.h | 3 ++-
> tools/kwbimage.h | 6 ------
> 2 files changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/include/image.h b/include/image.h
> index d7d6a3fe5b..82b447aeb7 100644
> --- a/include/image.h
> +++ b/include/image.h
> @@ -18,6 +18,7 @@
> #include "compiler.h"
> #include <asm/byteorder.h>
> #include <stdbool.h>
> +#include <linux/compiler_attributes.h>
>
> /* Define this to avoid #ifdefs later on */
> struct lmb;
> @@ -275,7 +276,7 @@ struct legacy_img_hdr {
> uint8_t ih_arch; /* CPU architecture */
> uint8_t ih_type; /* Image Type */
> uint8_t ih_comp; /* Compression Type */
> - uint8_t ih_name[IH_NMLEN]; /* Image Name */
> + uint8_t ih_name[IH_NMLEN] __nonstring; /* Image Name */
> };
>
> struct image_info {
> diff --git a/tools/kwbimage.h b/tools/kwbimage.h
> index 505522332b..327ca34494 100644
> --- a/tools/kwbimage.h
> +++ b/tools/kwbimage.h
> @@ -11,12 +11,6 @@
> #include <compiler.h>
> #include <stdint.h>
>
> -#ifdef __GNUC__
> -#define __packed __attribute((packed))
> -#else
> -#define __packed
> -#endif
> -
> #define KWBIMAGE_MAX_CONFIG ((0x1dc - 0x20)/sizeof(struct reg_config))
> #define MAX_TEMPBUF_LEN 32
>
> --
> 2.37.3
>
More information about the U-Boot
mailing list