diff options
author | dcashman <dcashman@google.com> | 2016-02-29 12:57:54 -0800 |
---|---|---|
committer | dcashman <dcashman@google.com> | 2016-02-29 15:30:03 -0800 |
commit | f8a650201c548c3498016b61e51d96294666798e (patch) | |
tree | ecb380e43037933a68413362fc19f5460c16a900 | |
parent | 5ff2a33bf370604a6260af338dde06cd67deaba2 (diff) | |
download | libselinux-f8a650201c548c3498016b61e51d96294666798e.tar.gz |
BACKPORT: libselinux: procattr: return einval for <= 0 pid args.android-cts-7.0_r9android-cts-7.0_r8android-cts-7.0_r7android-cts-7.0_r6android-cts-7.0_r5android-cts-7.0_r4android-cts-7.0_r33android-cts-7.0_r32android-cts-7.0_r31android-cts-7.0_r30android-cts-7.0_r3android-cts-7.0_r29android-cts-7.0_r28android-cts-7.0_r27android-cts-7.0_r26android-cts-7.0_r25android-cts-7.0_r24android-cts-7.0_r23android-cts-7.0_r22android-cts-7.0_r21android-cts-7.0_r20android-cts-7.0_r2android-cts-7.0_r19android-cts-7.0_r18android-cts-7.0_r17android-cts-7.0_r16android-cts-7.0_r15android-cts-7.0_r14android-cts-7.0_r13android-cts-7.0_r12android-cts-7.0_r11android-cts-7.0_r10android-cts-7.0_r1android-7.0.0_r9android-7.0.0_r8android-7.0.0_r7android-7.0.0_r6android-7.0.0_r5android-7.0.0_r4android-7.0.0_r36android-7.0.0_r35android-7.0.0_r34android-7.0.0_r33android-7.0.0_r32android-7.0.0_r31android-7.0.0_r30android-7.0.0_r3android-7.0.0_r29android-7.0.0_r28android-7.0.0_r27android-7.0.0_r24android-7.0.0_r21android-7.0.0_r19android-7.0.0_r17android-7.0.0_r15android-7.0.0_r14android-7.0.0_r13android-7.0.0_r12android-7.0.0_r11android-7.0.0_r10android-7.0.0_r1nougat-releasenougat-mr0.5-releasenougat-devnougat-cts-releasenougat-bugfix-release
getpidcon documentation does not specify that a pid of 0 refers to the
current process, and getcon exists specifically to provide this
functionality, and getpidcon(getpid()) would provide it as well.
Disallow pid values <= 0 that may lead to unintended behavior in
userspace object managers.
(from upstream commit: c7cf5d8aa061b9616bf9d5e91139ce4fb40f532c)
(cherry-picked from commit: 034c53e93a736f8b6f9aac90938ef65ffcaac9da)
Signed-off-by: Daniel Cashman <dcashman@android.com>
AOSP Bug: 200617
Bug: 27111481
Change-Id: I69b00df6413f5c3d566ac76cb4a464c97c167cdf
-rw-r--r-- | src/procattr.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/procattr.c b/src/procattr.c index a55465a..74c0012 100644 --- a/src/procattr.c +++ b/src/procattr.c @@ -139,7 +139,12 @@ static int setprocattrcon(const char * context, #define getpidattr_def(fn, attr) \ int get##fn(pid_t pid, char **c) \ { \ - return getprocattrcon(c, pid, #attr); \ + if (pid <= 0) { \ + errno = EINVAL; \ + return -1; \ + } else { \ + return getprocattrcon(c, pid, #attr); \ + } \ } all_selfattr_def(con, current) |