GNU bug report logs - #77621
coreutils-9.6.53-14af8 on OpenBSD 7.6

Previous Next

Package: coreutils;

Reported by: Bruno Haible <bruno <at> clisp.org>

Date: Mon, 7 Apr 2025 22:42:02 UTC

Severity: normal

Done: Pádraig Brady <P <at> draigBrady.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Pádraig Brady <P <at> draigBrady.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#77621: closed (coreutils-9.6.53-14af8 on OpenBSD 7.6)
Date: Tue, 08 Apr 2025 11:08:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 8 Apr 2025 12:07:45 +0100
with message-id <76c0b9f9-c0aa-4b90-889a-e1dc03804651 <at> draigBrady.com>
and subject line Re: bug#77621: coreutils-9.6.53-14af8 on OpenBSD 7.6
has caused the debbugs.gnu.org bug report #77621,
regarding coreutils-9.6.53-14af8 on OpenBSD 7.6
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
77621: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=77621
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Bruno Haible <bruno <at> clisp.org>
To: bug-coreutils <at> gnu.org, Pádraig Brady <P <at> draigbrady.com>
Subject: Re: coreutils-9.6.53-14af8 on OpenBSD 7.6
Date: Tue, 08 Apr 2025 00:41:18 +0200
[Message part 3 (text/plain, inline)]
On OpenBSD 7.6 there is a test failure:

FAIL: tests/ls/selinux-segfault

Find attached the log file.

To reproduce the issue, just run

$ src/ls -Z .
Segmentation fault (core dumped)

It crashes at strlen(), due to a NULL argument,
invoked from gobble_file (name = ".", type = arg_directory, inode = 0,
command_line_arg = true, dirname = NULL) at ls.c:3642,
invoked from ls.c:1812.

This reminds me the commit
https://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=915004f403cb25fadb207ddfdbe6a2f43bd44fac
that was supposed to fix the bug reported in
https://lists.gnu.org/archive/html/coreutils/2025-01/msg00051.html

Apparently this bug has reappeared, at least on OpenBSD.

Bruno

[openbsd76-test-suite.log (text/x-log, attachment)]
[Message part 5 (message/rfc822, inline)]
From: Pádraig Brady <P <at> draigBrady.com>
To: Bruno Haible <bruno <at> clisp.org>, Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77621-done <at> debbugs.gnu.org
Subject: Re: bug#77621: coreutils-9.6.53-14af8 on OpenBSD 7.6
Date: Tue, 8 Apr 2025 12:07:45 +0100
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



This bug report was last modified 102 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.