On Fri, Apr 18, 2025 at 7:35 AM Grisha Levit <grishale...@gmail.com> wrote: > > On Fri, Apr 18, 2025, 01:18 Jim Meyering <j...@meyering.net> wrote: > > > > On Tue, Apr 15, 2025 at 9:17 PM Jim Meyering <j...@meyering.net> wrote: > > ... > > > We're going to have to revise that code. > > > The difference I see is that before rawhide, that fclose would fail. > > > It's perfectly fine for fclose to succeed in this case, as now happens > > > on rawhide (because with 4k BUFSIZ, the fclose wrote nothing -- the > > > preceding 4096-byte write is what failed). > > > > > > Here's a better patch: (technically, we could factor it somewhat, but > > > readability would suffer disproportionately) > > > > I didn't take the time to find a precise commit, but this bug predates > > the move from closeout.c to gnulib's close-stdout.c in 2006. As I > > write this, I'm installing Fedora 42. > > I'll probably push the attached to gnulib tomorrow: > > > > Exposed via Fedora 42's new glibc vs grep's --help being precisely > > 4096 bytes. > > AFAICT this is not related to F42 or new glibc, it's just longer help > text in grep-3.12 + Fedora patch making it even longer. But you should > see the same behavior on existing systems with e.g.: > > $ { env printf %4095s; env printf %4096s; } > /dev/full > printf: write error: Broken pipe > printf: write error > Guys, thanks for the analysis and quick actions. BTW is the Fedora help patch which uncovered this problem acceptable for upstream?
thanks & regards Jaroslav