Thanks for reporting the bug. Although I doubt whether it can occur on any practical platform, we should fix it even if it's just theoretical. I installed into gzip master on savannah the attached patch, which I hope fixes the problem; please give it a try. The SYMBIOSYS tool did not discover a related theoretical bug with the 'caught_signals' variable, which also is used inside a signal handler despite not being volatile, so you might want to look into that. The attached patch should fix this related bug too. I am CC'ing this to Bdale Garbee, since much of this patch brings in a Gnulib replacement for sigaction that I expect nowadays is used only on mingw, and Bdale is my mingw guru (see Bug#32305).