From d2223ef9da7172a84d1508733dc58840e1381e3c Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 15 May 2022 13:42:56 +0200 Subject: [PATCH] blobmsg: work around false positive gcc -Warray-bounds warnings Using the return value of blobmsg_name as input argument to strcpy can lead to warnings like these: error: 'strcpy' offset 6 from the object at 'cur' is out of the bounds of referenced subobject 'name' with type 'uint8_t[]' {aka 'unsigned char[]'} at offset 6 [-Werror=array-bounds] Fix this by replacing hdr->name with the equivalent hdr + 1 Signed-off-by: Felix Fietkau --- blobmsg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blobmsg.h b/blobmsg.h index 1f0634d..5feaffe 100644 --- a/blobmsg.h +++ b/blobmsg.h @@ -62,7 +62,7 @@ static inline void blobmsg_clear_name(struct blob_attr *attr) static inline const char *blobmsg_name(const struct blob_attr *attr) { struct blobmsg_hdr *hdr = (struct blobmsg_hdr *) blob_data(attr); - return (const char *) hdr->name; + return (const char *)(hdr + 1); } static inline int blobmsg_type(const struct blob_attr *attr)