+bool blobmsg_check_attr(const struct blob_attr *attr, bool name)
+{
+ const struct blobmsg_hdr *hdr;
+
+ if (blob_len(attr) < sizeof(struct blobmsg_hdr))
+ return false;
+
+ hdr = (void *) attr->data;
+ if (!hdr->namelen && name)
+ return false;
+
+ if (hdr->namelen > blob_len(attr))
+ return false;
+
+ if (hdr->name[hdr->namelen] != 0)
+ return false;
+
+ return true;
+}
+