bug#77621: coreutils-9.6.53-14af8 on OpenBSD 7.6
Pádraig Brady <[email protected]>
| Newsgroups | gmane.comp.gnu.core-utils.bugs |
|---|---|
| Message-ID | <[email protected]> |
On 08/04/2025 11:22, Bruno Haible wrote: > Paul Eggert wrote: >> I don't see the problem on cfarm220.cfarm.net with the current coreutils > > That's because you are not on the /dev/wd0a disk on that machine. > > What I see by single-stepping through "ls -Z ." in gdb is: > 1. f->scontext gets set to "?". > 2. Upon the first entry to function file_has_aclinfo_cache, > all 4 variables > static int unsupported_return; > static char *unsupported_scontext; > static int unsupported_scontext_err; > static dev_t unsupported_device; > are 0 or NULL, respectively. (As expected, since it's the first call > to this function.) > f->stat.st_dev is 0 (since "." is on the /dev/wd0a disk and this device > has major and minor number both 0). > Thus the condition (f->stat_ok && f->stat.st_dev == unsupported_device) > evaluates to true, and four lines later, in > ai->scontext = unsupported_scontext; > an scontext gets set to NULL. > > The fix is obviously to ignore these 4 static variables if they have not > been initialized. Done through the attached patch, which fixes the crash. Excellent. I'll also apply this logic to has_capability_cache(). Marking this as done. thanks! Pádraig