Thanks for reporting that! I installed the following (slightly different) patch to fix the bug.
>From 769ccd405914f5ff004010737b1ce6bda9380e5a Mon Sep 17 00:00:00 2001 From: Paul Eggert <egg...@cs.ucla.edu> Date: Tue, 5 Feb 2013 13:37:40 -0800 Subject: [PATCH] gzip: fix bug where you say "n" and gzip acts as if you said "y" Problem reported for GCC 4.7 x86-64 -O2 by Allan McRae in <http://lists.gnu.org/archive/html/bug-gzip/2013-02/msg00000.html>. * NEWS: Document this. Use consistent format in earlier note. * gzip.c: Include yesno.h. * gzip.h (yesno): Remove decl; that's yesno.h's job. --- NEWS | 6 +++++- gzip.c | 1 + gzip.h | 3 --- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index 218a737..c8ae541 100644 --- a/NEWS +++ b/NEWS @@ -5,7 +5,11 @@ GNU gzip NEWS -*- outline -*- ** Bug fixes gzip -d no longer malfunctions with certain invalid data in 'pack' format. - Problem reported by Aki Helin. [bug introduced in gzip-0.8] + [bug introduced in gzip-0.8] + + When overwriting, gzip no longer acts as if you typed "y" when you type "n", + on some platforms when compiled with optimization. + [bug introduced in gzip-1.3.6] zgrep no longer malfunctions with a multi-digit context option like -15. Now, it passes that option to grep (equivalent to -C15) just as it does diff --git a/gzip.c b/gzip.c index b9b4d64..66529e0 100644 --- a/gzip.c +++ b/gzip.c @@ -74,6 +74,7 @@ static char const *const license_msg[] = { #include "ignore-value.h" #include "stat-time.h" #include "version.h" +#include "yesno.h" /* configuration */ diff --git a/gzip.h b/gzip.h index bf253d0..648073e 100644 --- a/gzip.h +++ b/gzip.h @@ -321,6 +321,3 @@ extern void fprint_off (FILE *, off_t, int); /* in inflate.c */ extern int inflate (void); - - /* in yesno.c */ -extern int yesno (void); -- 1.7.11.7