Possibly buggy use of ctype.h macros.

Kaz Kylheku kaz@kylheku.com
Tue Jan 2 22:18:15 GMT 2024


Hi All, 

I noticed that this macro, defined in winsup/cygwin/local_includes/path.h: 

  #define isdrive(s) (isalpha (*(s)) && (s)[1] == ':') 

is being used with arguments of type char, like dereferenced "char *" pointers. 

Unless the isalpha implementation is robust against this, it should be isalpha((unsigned char) *(s)).


More information about the Cygwin mailing list