Fixes
error: '__builtin_strcpy' offset 6 from the object at 'attr' is out of the 
bounds of referenced subobject 'name' with type 'uint8_t[0]' {aka 'unsigned 
char[0]'} at offset 6 [-Werror=array-bounds]

Signed-off-by: Khem Raj <raj.k...@gmail.com>
---
 blobmsg.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/blobmsg.c b/blobmsg.c
index a860483..63fada8 100644
--- a/blobmsg.c
+++ b/blobmsg.c
@@ -195,7 +195,8 @@ blobmsg_new(struct blob_buf *buf, int type, const char 
*name, int payload_len, v
        attr->id_len |= be32_to_cpu(BLOB_ATTR_EXTENDED);
        hdr = blob_data(attr);
        hdr->namelen = cpu_to_be16(namelen);
-       strcpy((char *) hdr->name, (const char *)name);
+       hdr->name[strlen((char*)hdr->name)] = '\0';
+       strncpy((char *) hdr->name, (const char *)name, 
strlen((char*)hdr->name));
        pad_end = *data = blobmsg_data(attr);
        pad_start = (char *) &hdr->name[namelen];
        if (pad_start < pad_end)
-- 
2.24.1


_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to