Date: Fri, 18 Jul 2025 13:47:44 -0600 From: Warner Losh <imp@bsdimp.com> To: Shawn Webb <shawn.webb@hardenedbsd.org> Cc: =?UTF-8?Q?Dag=2DErling_Sm=C3=B8rgrav?= <des@freebsd.org>, src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: d63ffdd1ef63 - main - tzcode: Fix time zone change detection. Message-ID: <CANCZdfpTQfDv2WdAA7qks8W09MVxkGuBXDQd99fAdq2TRjm=pw@mail.gmail.com> In-Reply-To: <35gxd7qvcs7nzwh3zdoh6hnb3htjnzowwitbgi6i647qtj4evj@gpwzez6ggzbd> References: <202507181750.56IHoLIw040938@gitrepo.freebsd.org> <35gxd7qvcs7nzwh3zdoh6hnb3htjnzowwitbgi6i647qtj4evj@gpwzez6ggzbd>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jul 18, 2025 at 1:43=E2=80=AFPM Shawn Webb <shawn.webb@hardenedbsd.= org> wrote: > > On Fri, Jul 18, 2025 at 05:50:21PM +0000, Dag-Erling Sm=C3=B8rgrav wrote: > > The branch main has been updated by des: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Dd63ffdd1ef6368407b35d415= 237b95cc739d8073 > > > > commit d63ffdd1ef6368407b35d415237b95cc739d8073 > > Author: Dag-Erling Sm=C3=B8rgrav <des@FreeBSD.org> > > AuthorDate: 2025-07-18 17:48:59 +0000 > > Commit: Dag-Erling Sm=C3=B8rgrav <des@FreeBSD.org> > > CommitDate: 2025-07-18 17:49:34 +0000 > > > > tzcode: Fix time zone change detection. > > > > Prior to the 2022g import, tzloadbody() returned -1 on error. Now = it > > returns an errno code. When I updated the time zone change detecti= on > > logic to match, I improperly returned errno in all cases, which mea= ns > > that if the time zone file has not changed since we last loaded it, > > tzloadbody() returns a random errno value instead of 0. > > > > Fixes: bc42155199b5 > > MFC after: 1 week > > Sponsored by: Klara, Inc. > > Sponsored by: NetApp, Inc. > > Reviewed by: markj > > Differential Revision: https://reviews.freebsd.org/D51405 > > --- > > contrib/tzcode/localtime.c | 14 +++++--------- > > 1 file changed, 5 insertions(+), 9 deletions(-) > > > > diff --git a/contrib/tzcode/localtime.c b/contrib/tzcode/localtime.c > > index f5814a43da54..69b5f0183e2c 100644 > > --- a/contrib/tzcode/localtime.c > > +++ b/contrib/tzcode/localtime.c > > @@ -408,10 +408,8 @@ change_in_tz(const char *name) > > static char old_name[PATH_MAX]; > > static struct stat old_sb; > > struct stat sb; > > - int error; > > > > - error =3D stat(name, &sb); > > - if (error !=3D 0) > > + if (stat(name, &sb) !=3D 0) > > return -1; > > > > if (strcmp(name, old_name) !=3D 0) { > > @@ -510,13 +508,11 @@ tzloadbody(char const *name, struct state *sp, bo= ol doextend, > > * 'doextend' to ignore TZDEFRULES; the change_in_tz() > > * function can only keep state for a single file. > > */ > > - int ret =3D change_in_tz(name); > > - if (ret <=3D 0) { > > - /* > > - * Returns an errno value if there was an error, > > - * and 0 if the timezone had not changed. > > - */ > > + switch (change_in_tz(name)) { > > + case -1: > > return errno; > > + case 0: > > + return 0; > > } > > } > > fid =3D _open(name, O_RDONLY | O_BINARY); > > > > Hey DES, > > This commit broke buildworld: > > =3D=3D=3D=3D BEGIN LOG =3D=3D=3D=3D > /usr/src/contrib/tzcode/localtime.c:512:11: error: no case matching const= ant switch condition '1' [-Werror] > 512 | switch (change_in_tz(name)) { > | ^~~~~~~~~~~~~~~~~~ > /usr/src/contrib/tzcode/localtime.c:433:25: note: expanded from macro 'ch= ange_in_tz' > 433 | #define change_in_tz(X) 1 > =3D=3D=3D=3D END LOG =3D=3D=3D=3D Jenkins is also super cranky. Warner P.S. I'd just sent a private email with this when this one arrived.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfpTQfDv2WdAA7qks8W09MVxkGuBXDQd99fAdq2TRjm=pw>