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 <[email protected]>
---
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
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel