summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Rosenberg <drosen@google.com>2016-04-12 16:30:28 -0700
committerThe Android Automerger <android-build@google.com>2016-04-21 19:11:37 -0700
commit864e2e22fcd0cba3f5e67680ccabd0302dfda45d (patch)
tree857c2c92b9ccf1c65a563dc539d0b33987d1790a
parentad54cfed4516292654c997910839153264ae00a0 (diff)
downloadsystem_core-864e2e22fcd0cba3f5e67680ccabd0302dfda45d.tar.gz
system_core-864e2e22fcd0cba3f5e67680ccabd0302dfda45d.tar.bz2
system_core-864e2e22fcd0cba3f5e67680ccabd0302dfda45d.zip
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
-rw-r--r--sdcard/sdcard.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sdcard/sdcard.c b/sdcard/sdcard.c
index 06452aa47..123fce6a9 100644
--- a/sdcard/sdcard.c
+++ b/sdcard/sdcard.c
@@ -337,7 +337,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;
}