diff options
author | Mark Salyzyn <salyzyn@google.com> | 2016-02-02 09:20:31 -0800 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2016-07-15 12:34:16 -0700 |
commit | 53bf23431d5e9f5b320d9e2adb7b10f650178dc9 (patch) | |
tree | e9a634e8da94d1cfa50131127737323d96dd8787 | |
parent | 70a8c7aef01d843eb390e744243667e1af6c5615 (diff) | |
download | system_core-53bf23431d5e9f5b320d9e2adb7b10f650178dc9.zip system_core-53bf23431d5e9f5b320d9e2adb7b10f650178dc9.tar.gz system_core-53bf23431d5e9f5b320d9e2adb7b10f650178dc9.tar.bz2 |
libcutils: abort for invalid fd
If ashmem accessors are being called with a file descriptor that
belongs to anything other than ashmem, we need to stop it right
now so that they can fix the caller.
Bug: 26871259
Change-Id: Icf9aafc3631a80b9af6fe0fea03599d61e285d21
-rw-r--r-- | libcutils/ashmem-dev.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libcutils/ashmem-dev.c b/libcutils/ashmem-dev.c index d6a48c9..4a07d66 100644 --- a/libcutils/ashmem-dev.c +++ b/libcutils/ashmem-dev.c @@ -118,15 +118,16 @@ static int __ashmem_is_ashmem(int fd) } if (rdev) { - ALOGE("illegal fd=%d mode=0%o rdev=%d:%d expected 0%o %d:%d", + LOG_ALWAYS_FATAL("illegal fd=%d mode=0%o rdev=%d:%d expected 0%o %d:%d", fd, st.st_mode, major(st.st_rdev), minor(st.st_rdev), S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IRGRP, major(rdev), minor(rdev)); } else { - ALOGE("illegal fd=%d mode=0%o rdev=%d:%d expected 0%o", + LOG_ALWAYS_FATAL("illegal fd=%d mode=0%o rdev=%d:%d expected 0%o", fd, st.st_mode, major(st.st_rdev), minor(st.st_rdev), S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IRGRP); } + /* NOTREACHED */ errno = ENOTTY; return -1; |