Messages in this thread | | | Date | Sun, 8 Jan 2023 10:34:36 +0100 | From | Willy Tarreau <> | Subject | Re: [PATCH v2] tools/nolibc: Fix S_ISxxx macros |
| |
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
| |