From 086293c5c29ca3550da4294b4588b8ca221ba848 Mon Sep 17 00:00:00 2001 From: chenguanyou Date: Tue, 9 Mar 2021 17:17:43 +0800 Subject: [PATCH] [BugFix][HWASAN] stack-buffer-overflow Test: hwasan Change-Id: I95be4202a35d1f4876b382350a6f1fdd64d2548c Signed-off-by: chenguanyou --- core/jni/android_util_Process.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/jni/android_util_Process.cpp b/core/jni/android_util_Process.cpp index 6becb07d02a4..7d229c50f22e 100644 --- a/core/jni/android_util_Process.cpp +++ b/core/jni/android_util_Process.cpp @@ -262,8 +262,12 @@ void android_os_Process_setProcessGroup(JNIEnv* env, jobject clazz, int pid, jin sprintf(proc_path, "/proc/%d/cmdline", pid); fd = open(proc_path, O_RDONLY | O_CLOEXEC); if (fd >= 0) { - int rc = read(fd, cmdline, sizeof(cmdline)-1); - cmdline[rc] = 0; + ssize_t rc = read(fd, cmdline, sizeof(cmdline) - 1); + if (rc < 0) { + ALOGE("read /proc/%d/cmdline (%s)", pid, strerror(errno)); + } else { + cmdline[rc] = 0; + } close(fd); }