> I guess you meant PATH_MAX here, in any case POSIX does not guarantee > MAX variables to be defined, it would be better to use the POSIX.1-2008 > variant of realpath(3) that allocates when passed a NULL (by checking > if it's available at configure time).
I thought my libc did not support it, but now I see even canonicalize_file_name() o_O > I don't understand why do you a realpath() here depending on the > number of hard links. Me too, but original code has "(st.st_nlink > 1 && strncmp(tty, "/dev/", 5))", so if number of links == 1, then there is no pathname check. No path check -> No realpath mess. > Otherwise if this function > is called on something like ttyname(3)'s return value, then changing > this function is the correct thing to do. Yes, CheckTtyname() is used with the value returned by ttyname() : ===== screen.cc ======= 978 #define SET_TTYNAME(fatal) do \ 979 { \ 980 if (!(attach_tty = ttyname(0))) \ 981 { \ 982 if (fatal) \ 983 Panic(0, "Must be connected to a terminal."); \ 984 else \ 985 attach_tty = ""; \ 986 } \ 987 else \ 988 { \ 989 if (stat(attach_tty, &st)) \ 990 Panic(errno, "Cannot access '%s'", attach_tty); \ 991 if (CheckTtyname(attach_tty)) \ 992 Panic(0, "Bad tty '%s'", attach_tty); \ 993 } \ 994 if (strlen(attach_tty) >= MAXPATHLEN) \ 995 Panic(0, "TtyName too long - sorry."); \ 996 } while (0) -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CALL-Q8yk9PKwO5d=LusLVBEVp1z8=axnDMV4ic=hz_rncte...@mail.gmail.com