From patchwork Fri Jun 2 15:28:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Frederic Berat X-Patchwork-Id: 1789739 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=b+mumtGY; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QXn2w36FWz20Tj for ; Sat, 3 Jun 2023 01:28:40 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6559A385C6E3 for ; Fri, 2 Jun 2023 15:28:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6559A385C6E3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1685719718; bh=iQsnEZ6BfwHiJvDQ4zy81O3s40H3YJZL2/dOQ0PdmkU=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=b+mumtGYRZ8J9N6TPRLiIrLKrfJ629EuelgXAFZQ+dxTxmaq32uDVQOWQOkgLiSjy 0qWqzn2DOua3enqS5/gQlM3OMdE6e8jVosAPrwvtmitxAWzvdLwP9Efpo12bKZQoRB WYr9T0UgSSSX0Auoir3j3KhafEbWHNVBLKgSr8SM= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 77F323858C1F for ; Fri, 2 Jun 2023 15:28:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 77F323858C1F Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-663-9sQrzUAkNzWOmJkwR-96Dg-1; Fri, 02 Jun 2023 11:28:16 -0400 X-MC-Unique: 9sQrzUAkNzWOmJkwR-96Dg-1 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 17422101A55C; Fri, 2 Jun 2023 15:28:16 +0000 (UTC) Received: from Nymeria-redhat.redhat.com (unknown [10.39.193.180]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 684E740CFD46; Fri, 2 Jun 2023 15:28:15 +0000 (UTC) To: libc-alpha@sourceware.org Cc: siddhesh@gotplt.org, fberat@redhat.com Subject: [PATCH v6 0/7] Fix warn unused result Date: Fri, 2 Jun 2023 17:28:05 +0200 Message-Id: <20230602152812.108497-1-fberat@redhat.com> In-Reply-To: <20230418121130.844302-1-fberat@redhat.com> References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-6.4 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: =?utf-8?q?Fr=C3=A9d=C3=A9ric_B=C3=A9rat_via_Libc-alpha?= From: Frederic Berat Reply-To: =?utf-8?b?RnLDqWTDqXJpYyBCw6lyYXQ=?= Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Hello, Enabling _FORTIFY_SOURCE on Glibc itself implies that some function get the __wur macro enabed. This leads to build failures when -Werror is set. I went for multiple patches for these fixes, a big one that cover the tests, and then separate one for the other ones, assuming they may need to get a closer look at. While most of the changes look trivial, decision I made on how to fix them may be open to debate, e.g. the additional checks may lead to failures while they weren't earlier, some other have no impact while it may be useful to have one. Feedback is therefore highly appreciated. Fred. Changes since v1: - "tests: fix warn unused result" has been split into several sub-patches. New x-variant of functions have been created when necessary. - "inet/rcmd.c" is removed has it has been merged upstream. - catgets/gencat.c: - introduced a static write_all routine, that mimics support/xwrite - fixed review findings (declaration of array_size where defined) - locale/programs/locarchive.c: untouched (I forgot it) - malloc/{memusage.c,memusagestat.c}: introduced write_all/read_all functions - nptl_db/thread_dbP.h: fixed missing white space. - sunrpc/netname.c: fixed missing whitespace, and "return 0;" indent. - sysdeps/pthread/eintr.c: Added comment on why the if statement is used. Changes since v2: - Rebased on master - catgets/gencat.c: Don't use errno if write returns 0. - locale/programs/locarchive.c: Freeing normalized_codeset before returning. - malloc/{memusage.c,memusagestat.c}: Don't use errno if write returns 0. - tests: replace read by xread: - Add missing xunistd.h includes - Add libsupport to tst-fini1mod.so - tests: replace fread by xfread: - Fixed xfread prototype - Add missing xstdio.h include Changes since v3: - Rebased on master Changes since v4: gencat/memusage*: - Mark strings for translation with gettext. - Fixed typo in (ret == 0) case nptl_db/thread_dbP.h: Wrapped line since it exceeded 79 characters tests: - Properly use xasprintf in all cases in posix/tst-execlp2.c - Added more fail case in xsystem - Clarify why some system calls should not use xsystem - Removed extra curly brackets Added a patch to move {read,write}_all functions to a dedicated header Changes since v5: tests: - Fixed missing headers in {nptl,elf}/tst-stackguard1.c - Fixed date in copyrights - Removed unnecessary check after xasprintf call - Rebasing patches - Actually replace functions with their x variant as described Adding copyright to unistd_ext.h --- Frédéric Bérat (7): tests: fix warn unused result on asprintf calls tests: replace read by xread tests: replace system by xsystem tests: replace fread by xfread tests: replace fgets by xfgets tests: Replace various function calls with their x variant Move {read,write}_all functions to a dedicated header argp/argp-test.c | 8 +++-- assert/test-assert-perr.c | 8 +++-- assert/test-assert.c | 8 +++-- catgets/gencat.c | 22 +----------- dirent/tst-fdopendir.c | 3 +- elf/tst-stackguard1.c | 5 ++- include/unistd_ext.h | 66 ++++++++++++++++++++++++++++++++++ libio/bug-fseek.c | 7 ++-- libio/bug-mmap-fflush.c | 7 ++-- malloc/memusage.c | 22 +----------- malloc/memusagestat.c | 40 +-------------------- misc/tst-error1.c | 4 ++- nptl/tst-cancel7.c | 3 +- nptl/tst-cleanup4.c | 4 ++- nptl/tst-stackguard1.c | 4 ++- nss/tst-nss-db-endpwent.c | 3 +- nss/tst-reload2.c | 2 +- posix/tst-chmod.c | 7 ++-- posix/tst-execl2.c | 8 ++--- posix/tst-execle2.c | 8 ++--- posix/tst-execlp2.c | 17 +++------ posix/tst-execv2.c | 8 ++--- posix/tst-execve2.c | 8 ++--- posix/tst-execvp2.c | 17 +++------ posix/wordexp-test.c | 2 +- stdio-common/bug12.c | 12 ++++--- stdio-common/bug3.c | 4 ++- stdio-common/bug4.c | 4 ++- stdio-common/bug5.c | 4 ++- stdio-common/test-fwrite.c | 4 ++- stdio-common/test_rdwr.c | 11 +++--- stdio-common/tst-cookie.c | 5 ++- stdio-common/tst-fmemopen3.c | 4 ++- stdio-common/tst-fseek.c | 5 ++- stdlib/test-canon.c | 4 ++- support/Makefile | 4 +++ support/test-container.c | 3 +- support/xfgets.c | 32 +++++++++++++++++ support/xfread.c | 39 ++++++++++++++++++++ support/xread.c | 36 +++++++++++++++++++ support/xstdio.h | 2 ++ support/xstdlib.h | 31 ++++++++++++++++ support/xsystem.c | 37 +++++++++++++++++++ support/xunistd.h | 3 ++ sysdeps/pthread/Makefile | 2 +- sysdeps/pthread/tst-cancel11.c | 4 ++- sysdeps/pthread/tst-cancel20.c | 10 ++---- sysdeps/pthread/tst-cancel21.c | 9 ++--- sysdeps/pthread/tst-cancel6.c | 3 +- sysdeps/pthread/tst-fini1mod.c | 4 ++- 50 files changed, 370 insertions(+), 197 deletions(-) create mode 100644 include/unistd_ext.h create mode 100644 support/xfgets.c create mode 100644 support/xfread.c create mode 100644 support/xread.c create mode 100644 support/xstdlib.h create mode 100644 support/xsystem.c