Fix overflow in path building

An incorrect size was causing an unsigned value
to wrap, causing it to write past the end of
the buffer.

Bug: 28085658
Change-Id: Ie9625c729cca024d514ba2880ff97209d435a165
This commit is contained in:
Daniel Rosenberg 2016-04-12 16:30:28 -07:00
parent a183654b82
commit 6ea6c04ca6

View file

@ -325,7 +325,7 @@ static ssize_t get_node_path_locked(struct node* node, char* buf, size_t bufsize
ssize_t pathlen = 0;
if (node->parent && node->graft_path == NULL) {
pathlen = get_node_path_locked(node->parent, buf, bufsize - namelen - 2);
pathlen = get_node_path_locked(node->parent, buf, bufsize - namelen - 1);
if (pathlen < 0) {
return -1;
}