* tests/rm/rm-readdir-fail.sh: ASAN correctly indicated
that fts was writing to freed memory. This was because
we reused a single dirent in our readdir() test wrapper.
Since fts was deallocating those dirents, we now get
a new dirent for each call to our readdir wrapper.
errno = ESRCH;
return NULL;
}
- static struct dirent* d;
- if (! d && ! ( d = real_readdir (dirp)))
+ struct dirent* d;
+ if (! (d = real_readdir (dirp)))
{
fprintf (stderr, "Failed to get dirent\n");
errno = ENOENT;
rm -f preloaded
(export LD_PRELOAD=$LD_PRELOAD:./k.so
returns_ 1 rm -Rf dir 2>>err) || fail=1
- test -f preloaded ||
+ if ! test -f preloaded; then
+ cat err
skip_ "internal test failure: maybe LD_PRELOAD doesn't work?"
+ fi
done
# First case is failure to read any items from dir, then assume empty.