|
Message-ID: <20201112193207.GC2009@voyager> Date: Thu, 12 Nov 2020 20:32:07 +0100 From: Markus Wichmann <nullplan@....net> To: musl@...ts.openwall.com Subject: Re: [PATCH] fix segfault in lutimes when tv argument is NULL On Thu, Nov 12, 2020 at 03:43:27PM -0300, Érico Nogueira wrote: > From: Érico Rolim <ericonr@...root.org> > > calling lutimes with tv=0 is valid if the applications wants to set the > timestamps to the current time. short-circuit the function to call > utimensat with times=0 directly if tv == 0. > --- > > Bug reported on IRC by nmeum > > src/legacy/lutimes.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/src/legacy/lutimes.c b/src/legacy/lutimes.c > index 2e5502d1..22176230 100644 > --- a/src/legacy/lutimes.c > +++ b/src/legacy/lutimes.c > @@ -5,6 +5,7 @@ > > int lutimes(const char *filename, const struct timeval tv[2]) > { > + if (!tv) return utimensat(AT_FDCWD, filename, 0, AT_SYMLINK_NOFOLLOW); > struct timespec times[2]; > times[0].tv_sec = tv[0].tv_sec; > times[0].tv_nsec = tv[0].tv_usec * 1000; > -- > 2.29.2 > Deja vu. We had a similar discussion in early March. The most recent e-mail in that thread stated that the patch "might be correct as-is." Though that patch did attempt to filter out invalid inputs as well. I had pointed out that the only spec available for lutimes does state that it should act like utimes(), and utimes() does allow for NULL inputs, but there was no reply. And no follow-up from the OP, either. Ciao, Markus
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.