Bug#750497: don't use sysconf(_SC_SYMLOOP_MAX), please

Adam Borowski kilobyte at angband.pl
Tue Jun 3 23:07:21 UTC 2014


I'm afraid this patch doesn't work.  It makes the code compile, but if you
try to execute it, it will assume any symlinks form a loop.

The relevant snippet is:
                                if (++num_links > MAXSYMLINKS)
                                {
                                        errno = ELOOP;
                                        goto error;
                                }
which fails to execute if the returned value is -1.  Linux' headers use an
arbitrary bogus value of MAXSYMLINKS 20 to let old code work, Hurd guys
decided that it's better for wrong code to fail at compilation stage.
It's the same story as MAX_PATH.

sysconf(_SC_SYMLOOP_MAX) returns -1 on Linux as well.

-- 
Gnome 3, Windows 8, Slashdot Beta, now Firefox Ribbon^WAustralis.  WTF is going
on with replacing usable interfaces with tabletized ones?



More information about the pkg-mate-team mailing list