Looks cleaner than the unconst. Le 7 novembre 2019 16:40:04 GMT+01:00, Phil Shafer <p...@juniper.net> a écrit : >+++ b/libxo/libxo.c >@@ -8104,6 +8104,8 @@ xo_parse_args (int argc, char **argv) > cp = strrchr(xo_program, '/'); > if (cp) > xo_program = ++cp; >+ else >+ cp = argv[0]; /* Reset to front of string */ > > /* GNU tools add an annoying ".test" as the program extension; >remove it */ > size_t len = strlen(xo_program); > >On 7 Nov 2019, at 10:08, Arnaud Ysmal wrote: > >> Hi, >> >> I just got the same issue, it happens when argv[0] does not contain a > >> / (calling uptime segfault but calling /usr/bin/uptime works). >> >> In xo_parse_args there is no check whether cp is NULL before calling >> xo_streq. >> >> I fixed it by changing this line: >> - cp = &cp[len + 1 - sizeof(gnu_ext)]; >> + cp = (char *)(uintptr_t)(const char *)(&xo_program[len + 1 - >> sizeof(gnu_ext)]); >> >> Arnaud Ysmal
Arnaud Ysmal _______________________________________________ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"