Re: [PATCH v2] tools/nolibc: Fix S_ISxxx macros

Willy Tarreau
2023-01-08T09:34:46Z

Hello Warner,

On Fri, Jan 06, 2023 at 10:18:34AM -0700, Warner Losh wrote:
> The mode field has the type encoded as an value in a field, not as a bit
> mask. Mask the mode with S_IFMT instead of each type to test. Otherwise,
> false positives are possible: eg S_ISDIR will return true for block
> devices because S_IFDIR = 0040000 and S_IFBLK = 0060000 since mode is
> masked with S_IFDIR instead of S_IFMT. These macros now match the
> similar definitions in tools/include/uapi/linux/stat.h.

I'm impressed to see how I managed to make that gross a mistake!
Thanks for catching it and for the fix, its now queued.

Willy