projects
/
project
/
libubox.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
blobmsg: fill padding between name and data
[project/libubox.git]
/
blobmsg.c
diff --git
a/blobmsg.c
b/blobmsg.c
index
0129640
..
0551b26
100644
(file)
--- a/
blobmsg.c
+++ b/
blobmsg.c
@@
-114,6
+114,7
@@
blobmsg_new(struct blob_buf *buf, int type, const char *name, int payload_len, v
struct blob_attr *attr;
struct blobmsg_hdr *hdr;
int attrlen, namelen;
struct blob_attr *attr;
struct blobmsg_hdr *hdr;
int attrlen, namelen;
+ char *pad_start, *pad_end;
if (!name)
name = "";
if (!name)
name = "";
@@
-127,7
+128,10
@@
blobmsg_new(struct blob_buf *buf, int type, const char *name, int payload_len, v
hdr = blob_data(attr);
hdr->namelen = cpu_to_be16(namelen);
strcpy((char *) hdr->name, (const char *)name);
hdr = blob_data(attr);
hdr->namelen = cpu_to_be16(namelen);
strcpy((char *) hdr->name, (const char *)name);
- *data = blobmsg_data(attr);
+ pad_end = *data = blobmsg_data(attr);
+ pad_start = (char *) &hdr->name[namelen];
+ if (pad_start < pad_end)
+ memset(pad_start, 0, pad_end - pad_start);
return attr;
}
return attr;
}