mbox series

[v6,0/7] Fix warn unused result

Message ID 20230602152812.108497-1-fberat@redhat.com
Headers show
Series Fix warn unused result | expand

Message

Frederic Berat June 2, 2023, 3:28 p.m. UTC
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