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
This commit is contained in:
Mark Salyzyn 2016-02-02 09:20:31 -08:00
parent e37111d751
commit 53c0ca6520
1 changed files with 3 additions and 2 deletions

View File

@ -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;