From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=AWL,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 582501F4B4 for ; Tue, 8 Dec 2020 23:33:08 +0000 (UTC) Received: from localhost ([::1]:40400 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmmTj-0004JP-2X for normalperson@yhbt.net; Tue, 08 Dec 2020 18:33:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40106) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmlv5-0000N6-Rf for bug-gnulib@gnu.org; Tue, 08 Dec 2020 17:57:20 -0500 Received: from mout.kundenserver.de ([217.72.192.73]:52975) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmlur-0004Pt-9O for bug-gnulib@gnu.org; Tue, 08 Dec 2020 17:57:19 -0500 Received: from [192.168.101.10] ([91.12.160.30]) by mrelayeu.kundenserver.de (mreue108 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MacWq-1kGTIb0e7u-00cA7M for ; Tue, 08 Dec 2020 23:57:03 +0100 To: bug-gnulib From: Bernhard Voelker Subject: test-getgroups.c:stringop-overflow warning on newer GCC Message-ID: Date: Tue, 8 Dec 2020 23:57:02 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:fhRHFIjTv5H4NOrCyhRRBLeanRswsNQA6E3grZPRb5h4qHtWquj FMi0r6YlDKRDKY0e7LA6YuXyzcWlUilJomwpJ0caOfdPtkCgyYv8GdDR5PQT6Xnz6opff+7 Me7mt+CWf6R2l2Gs/sMyLAggEGzANQeg/o8eIQTBWCEPLU8jhJdFtjZBcpWJsgCSKlL3Yv1 tT+0OmuhmRRVXRXqq8LmA== X-UI-Out-Filterresults: notjunk:1;V03:K0:uz6vEShm7kQ=:2TCs1pXQS35QT45B9HWM7q B+vp+MLTlXg9CdzKLW9Bb23629BBTe/lglMYnpW7xoslqPjcwup/7QEK04CCMYXsBhPYWfjv3 LVt6G5RKRGPZ16mcNdP0WFwtSJ5IaN4KTgdhIzmCZRzNttKhszm48/UduXJdbYuHL8B09hR2z iAw2WgI/c+Wo9bc3lribS5wtxCXOHVfckk7BdXhsTmfgyGDG44sqdmU3CW89SiJnuXXaQ1DLn Nkbz/YWX+WfcWrc/nHEplL7dnqo/MXCpj0mbwXxWRMLVQPbnFV1TT/5y92bL9TzPXKBljYNv6 4Fg/HuTUvcEwKRFOiN+EKwhJVEIV1kFng2WEsKM1T1OBNETVaq2F26Tcwsw6f1eqloD/Q9Wiy 10kjjnqDKYhGaaQkiO5TaSE+/md+bx3rsWZIbPEpSpbmgvj5/WInNlTykltWg1ZR0zfOpI8Gf rBhWJiSz0g== Received-SPF: none client-ip=217.72.192.73; envelope-from=mail@bernhard-voelker.de; helo=mout.kundenserver.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: bug-gnulib@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Gnulib discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnulib-bounces+normalperson=yhbt.net@gnu.org Sender: "bug-gnulib" Newer GCC complains about this test: $ make test-getgroups.o V=1 depbase=`echo test-getgroups.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -DEXEEXT=\"\" -I. -I.. -DIN_FINDUTILS_GNULIB_TESTS=1 -I. -I. -I.. -I./.. -I../gl/lib -I./.. \ /gl/lib -g -O2 -MT test-getgroups.o -MD -MP -MF $depbase.Tpo -c -o test-getgroups.o test-getgroups.c &&\ mv -f $depbase.Tpo $depbase.Po In file included from test-getgroups.c:31: test-getgroups.c: In function 'main': test-getgroups.c:65:11: warning: argument 1 value -1 is negative [-Wstringop-overflow=] 65 | ASSERT (getgroups (-1, NULL) == -1); | ^~~~~~~~~~~~~~~~~~~~ macros.h:57:13: note: in definition of macro 'ASSERT' 57 | if (!(expr)) \ | ^~~~ In file included from ../gl/lib/unistd.h:40, from test-getgroups.c:21: /usr/include/unistd.h:701:12: note: in a call to function 'getgroups' declared with attribute 'write_only (2, 1)' 701 | extern int getgroups (int __size, __gid_t __list[]) __THROW __wur | ^~~~~~~~~ This is the whole declaration from the system's unistd.h: $ sed -n 698,702p /usr/include/unistd.h /* If SIZE is zero, return the number of supplementary groups the calling process is in. Otherwise, fill in the group IDs of its supplementary groups in LIST and return the number written. */ extern int getgroups (int __size, __gid_t __list[]) __THROW __wur __attr_access ((__write_only__, 2, 1)); I could reproduce on openSUSE:Tumbleweed and Fedora 33, both having GCC-10.2.1: $ gcc --version | sed 1q gcc (SUSE Linux) 10.2.1 20201117 [revision 98ba03ffe0b9f37b4916ce6238fad754e00d720b] $ gcc --version | sed 1q gcc (GCC) 10.2.1 20201125 (Red Hat 10.2.1-9) Well, the test is explicitly testing the behavior when passing a negative number. Maybe we should add this to the test? # pragma GCC diagnostic ignored "-Wstringop-overflow" Thanks & have a nice day, Berny