From d91285f1666a2bbca9f4d620bbd74ab87632a8c4 Mon Sep 17 00:00:00 2001 From: Ryan Prichard Date: Tue, 1 May 2018 18:03:05 -0700 Subject: Fix PROP_FILENAME_MAX overflow handling Bug: b/79117743 Test: /data/nativetest64/bionic-unit-tests/bionic-unit-tests Change-Id: Idd5aa4d195abc13c06d3e5b57aef69a68c2a9a9d --- libc/system_properties/context_node.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libc/system_properties/context_node.cpp') diff --git a/libc/system_properties/context_node.cpp b/libc/system_properties/context_node.cpp index 5496b5a9a..d392c0ad5 100644 --- a/libc/system_properties/context_node.cpp +++ b/libc/system_properties/context_node.cpp @@ -51,7 +51,7 @@ bool ContextNode::Open(bool access_rw, bool* fsetxattr_failed) { char filename[PROP_FILENAME_MAX]; int len = async_safe_format_buffer(filename, sizeof(filename), "%s/%s", filename_, context_); - if (len < 0 || len > PROP_FILENAME_MAX) { + if (len < 0 || len >= PROP_FILENAME_MAX) { lock_.unlock(); return false; } @@ -86,7 +86,7 @@ void ContextNode::ResetAccess() { bool ContextNode::CheckAccess() { char filename[PROP_FILENAME_MAX]; int len = async_safe_format_buffer(filename, sizeof(filename), "%s/%s", filename_, context_); - if (len < 0 || len > PROP_FILENAME_MAX) { + if (len < 0 || len >= PROP_FILENAME_MAX) { return false; } -- cgit v1.2.3