image: Correct strncpy() warning with image_set_name()

gcc 12 seems to warn on strncpy() as a matter of course. Rewrite the code
a different way to do the same thing, to avoid the warning.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2022-11-09 19:14:39 -07:00
parent fb132b3727
commit 88ff7cb1c8

View file

@ -853,7 +853,13 @@ image_set_hdr_b(comp) /* image_set_comp */
static inline void image_set_name(struct legacy_img_hdr *hdr, const char *name)
{
strncpy(image_get_name(hdr), name, IH_NMLEN);
/*
* This is equivalent to: strncpy(image_get_name(hdr), name, IH_NMLEN);
*
* Use the tortured code below to avoid a warning with gcc 12. We do not
* want to include a nul terminator if the name is of length IH_NMLEN
*/
memcpy(image_get_name(hdr), name, strnlen(name, IH_NMLEN));
}
int image_check_hcrc(const struct legacy_img_hdr *hdr);