Date: Sun, 15 Nov 2020 13:10:20 -0600 From: "Brandon Bergren" <bdragon@FreeBSD.org> To: "Scott Long" <scottl@samsco.org>, "Jessica Clarke" <jrtc27@freebsd.org> Cc: "Scott Long" <scottl@FreeBSD.org>, src-committers <src-committers@freebsd.org>, svn-src-all <svn-src-all@freebsd.org>, svn-src-head <svn-src-head@freebsd.org> Subject: Re: svn commit: r367701 - head/lib/libutil Message-ID: <f9904238-3923-40c1-b478-c5249821ed09@www.fastmail.com> In-Reply-To: <EBD050A5-70AE-43E8-A9E1-CCD3BCA11180@samsco.org> References: <202011150748.0AF7mqW3016900@repo.freebsd.org> <D5492BB4-A282-4E35-B02F-1216769FDA51@freebsd.org> <A39C12CC-D3D6-4166-9089-7466FA1C2B2D@samsco.org> <329C4753-BB97-4C67-8CDA-39EB67E16CE8@freebsd.org> <EBD050A5-70AE-43E8-A9E1-CCD3BCA11180@samsco.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On powerpc64 and powerpc64le, there is some really weird behavior happen= ing around the sysctl itself: root@crow:~ # pkg The package management tool is not yet installed on your system. Do you want to fetch and install it now? [y/N]: N root@crow:~ # sysctl user.localbase user.localbase: /usr/local root@crow:~ # pkg The package management tool is not yet installed on your system. Do you want to fetch and install it now? [y/N]: N root@crow:~ # sysctl user.localbase=3D/usr/local user.localbase: /usr/local -> /usr/local root@crow:~ # pkg pkg: not enough arguments Usage: pkg [-v] [-d] [-l] [-N] [-j <jail name or id>|-c <chroot path>|-r= <rootdir>] [-C <configuration file>] [-R <repo config dir>] [-o var=3Dv= alue] [-4|-6] <command> [<args>] For more information on available commands and options see 'pkg help'. root@crow:~ #=20 I would double check very closely that the sysctl is being called correc= tly, the sysctl tool manages to read it out, but libutil does not. On Sun, Nov 15, 2020, at 1:06 PM, Scott Long wrote: >=20 > > On Nov 15, 2020, at 12:01 PM, Jessica Clarke <jrtc27@freebsd.org> wr= ote: > >>=20 > >> I felt similar concerns, but my misunderstanding of strlcpy() drove= the > >> result. Since the use case for getlocalbase() lends itself to also= use > >> strlcat()/strlcpy(), I was trying to replicate the API semantics of= those, > >> at least to the limit of my understanding. Thanks for the feedback= , I=E2=80=99ll > >> look at it some more. > >=20 > > Thanks. ENOMEM also feels inappropriate as no allocation is taking > > place. Perhaps ENAMETOOLONG, which is used in similar cases for thin= gs > > like gethostbyname? Though sysctlbyname uses ENOMEM instead... sigh.= > >=20 >=20 > Yep, I wasn=E2=80=99t happy with ENOMEM either but I couldn=E2=80=99t = find anything better. >=20 > > Also, if pathlen has already been checked against SSIZE_MAX (giving > > EINVAL) and tmplen against pathlen there's no need to then check tmp= len > > against SSIZE_MAX. > >=20 >=20 > Done. >=20 > > I'd be happy to give a review on Phabricator if/when you have a new > > patch. > >=20 >=20 > https://reviews.freebsd.org/D27227 >=20 > Thanks, > Scott >=20 > --=20 Brandon Bergren bdragon@FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f9904238-3923-40c1-b478-c5249821ed09>