Some software calls *at() functions with AT_FDCWD instead of plain functions. Notably, this is true for anything using fts(). fts() calls fstatat() always.
libpreopen must interpose these *at() functions, performing a find_relative() in the AT_FDCWD case.
Some software calls
*at()
functions withAT_FDCWD
instead of plain functions. Notably, this is true for anything usingfts()
.fts()
callsfstatat()
always.libpreopen must interpose these
*at()
functions, performing afind_relative()
in theAT_FDCWD
case.