From 4e7d59f6bcb770202f27fb5787274771fdd37b44 Mon Sep 17 00:00:00 2001 From: Brennan Ashton Date: Sat, 2 May 2020 20:25:35 -0700 Subject: [PATCH] Fix debug assert in ioctl to check if int will fit in unsigned long not be unsigned long Signed-off-by: Brennan Ashton --- libs/libc/misc/lib_ioctl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/libc/misc/lib_ioctl.c b/libs/libc/misc/lib_ioctl.c index 20127ef9d02..2485a6a39cf 100644 --- a/libs/libc/misc/lib_ioctl.c +++ b/libs/libc/misc/lib_ioctl.c @@ -91,7 +91,7 @@ int ioctl(int fd, int req, ...) /* Get the unsigned long argument. * * REVISIT: This could be the cause of the crash down the road if the - * actual size of the argument is anything other than sizeof(unsigned long). + * actual size of the argument not sizeof(unsigned long). * Most small integers will be promoted to 'int'. ARM should pass the * following test with all three types having sizeof(type) == 4 bytes. * 'float' should also be tested. But 'long long' and 'double' are out of @@ -102,7 +102,7 @@ int ioctl(int fd, int req, ...) * discover cases where something worse happens! */ - DEBUGASSERT(sizeof(int) == sizeof(unsigned long) && + DEBUGASSERT(sizeof(int) <= sizeof(unsigned long) && sizeof(FAR void *) == sizeof(unsigned long)); va_start(ap, req);