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