blobmsg: fix length in blobmsg_check_array
authorFelix Fietkau <nbd@nbd.name>
Mon, 25 May 2020 11:44:20 +0000 (13:44 +0200)
committerFelix Fietkau <nbd@nbd.name>
Tue, 26 May 2020 08:06:53 +0000 (10:06 +0200)
blobmsg_check_array_len expects the length of the full attribute buffer,
not just the data length.
Due to other missing length checks (fixed in the next commit), this did
not show up as a test failure

Signed-off-by: Felix Fietkau <nbd@nbd.name>
blobmsg.c

index 59045e1..daaa9fc 100644 (file)
--- a/blobmsg.c
+++ b/blobmsg.c
@@ -114,7 +114,7 @@ bool blobmsg_check_attr_len(const struct blob_attr *attr, bool name, size_t len)
 
 int blobmsg_check_array(const struct blob_attr *attr, int type)
 {
-       return blobmsg_check_array_len(attr, type, blob_len(attr));
+       return blobmsg_check_array_len(attr, type, blob_raw_len(attr));
 }
 
 int blobmsg_check_array_len(const struct blob_attr *attr, int type,