X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f X-Recipient: djgpp-workers AT delorie DOT com X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Date: Thu, 04 May 2017 17:23:58 +0300 Message-Id: <83a86shf9d.fsf@gnu.org> From: "Eli Zaretskii (eliz AT gnu DOT org) [via djgpp-workers AT delorie DOT com]" To: djgpp-workers AT delorie DOT com In-reply-to: <590A6154.8010308@gmx.de> (djgpp-workers@delorie.com) Subject: Re: gcc-7.1.0 References: <6953e282-24aa-2b4e-2141-385d8b443111 AT iki DOT fi> <590A6154 DOT 8010308 AT gmx DOT de> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > Date: Thu, 04 May 2017 01:01:40 +0200 > From: "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via djgpp-workers AT delorie DOT com]" > > gcc ... -c dosexec.c > dosexec.c: In function 'direct_exec_tail': > dosexec.c:409:19: warning: '%04lX' directive writing between 4 and 7 bytes into a region of size 5 [-Wformat-overflow=] > sprintf (t2, "%04lX", tbuf_beg>>4); > ^~~~~ > dosexec.c:409:18: note: directive argument in the range [0, 268435455] > sprintf (t2, "%04lX", tbuf_beg>>4); > ^~~~~~~ > dosexec.c:409:5: note: 'sprintf' output between 5 and 8 bytes into a destination of size 5 > sprintf (t2, "%04lX", tbuf_beg>>4); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > dosexec.c: In function 'go32_exec': > dosexec.c:1109:50: warning: '%04x' directive writing 4 bytes into a region of size between 3 and 13 [-Wformat-overflow=] > sprintf(proxy_cmdline, "%s=%04x %04x %04x %04x %04x", > ^~~~ > dosexec.c:1109:26: note: directive argument in the range [0, 65535] > sprintf(proxy_cmdline, "%s=%04x %04x %04x %04x %04x", > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > dosexec.c:1109:3: note: 'sprintf' output 26 or more bytes (assuming 36) into a destination of size 34 > sprintf(proxy_cmdline, "%s=%04x %04x %04x %04x %04x", > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > __PROXY, argc, > ~~~~~~~~~~~~~~ > (unsigned)(tbuf_beg >> 4), rm_off & 0xffff, > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > (unsigned)(tbuf_beg >> 4), si_off & 0xffff); > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ It's probably best to tweak the code to make sure the buffer overruns cannot happen.