Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CADho9odZgiVVZbVpVKSshprp8Ly=1akzTOdHEcw6OtWQyjY2EA@mail.gmail.com>
Date: Thu, 20 Mar 2025 11:39:17 +0100
From: Anders Svensson <anders.otp@...il.com>
To: musl@...ts.openwall.com
Subject: strerror_l() segfault

I recently noticed a case [1] in which zfs diff segfaults for me on
Alpine 3.21.3 (musl 1.2.5), and then noticed that it didn't seem to
have anything to do with zfs: this little test utility, reproducing
the call zfs-2.2.7 was making, segfaults on both Alpine and Void/musl:

#include <errno.h>
#include <string.h>
#include <locale.h>
#include <assert.h>

int main(int argc, char **argv) {
    locale_t loc = uselocale(0);
    assert(loc != 0);
    char *err = strerror_l(ENOENT, loc);  /* segfaults here */
    return 0;
}

I read [2] that "Locale support is very limited, and barely works", so
should I just file this failure under that heading or is strerror_l()
unexpectedly broken? There doesn't seem to be anything wrong with how
zfs is using it, but I'm no expert.

[1] https://gitlab.alpinelinux.org/alpine/aports/-/issues/16994
[2] https://wiki.musl-libc.org/open-issues

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.