Portability improvements
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
Patches in v2 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/2 | libselinux: avoid redefining _FORTIFY_SOURCElibselinux/ libselinux/ | +2 | 0 replies | |
| 2/2 | genhomedircon: avoid use of non-standard `getpwent_r`libsemanage/ | +7 | 1 reply |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.
Cover letter [PATCH v2 0/2] Portability improvements
Hi,
this is the second version of my portability fixes. Changes include applying proposed changes (thanks Stephen and Jason) as well as improved commit messages. The interdiff is attached below.
I've dropped the first patch as it's already been applied.
Patrick
Patrick Steinhardt (2):
libselinux: avoid redefining _FORTIFY_SOURCE
genhomedircon: avoid use of non-standard getpwent_r
libselinux/src/Makefile | 2 +- libselinux/utils/Makefile | 2 +- libsemanage/src/genhomedircon.c | 34 +++++++--------------------------- 3 files changed, 9 insertions(+), 29 deletions(-)
Signature · 1 line
2.13.1
libselinux/src/Makefile +1 -2
@@ -59,8 +59,7 @@ ifeq ($(COMPILER), gcc) EXTRA_CFLAGS = -fipa-pure-const -Wlogical-op -Wpacked-bitfield-compat -Wsync-nand \ -Wcoverage-mismatch -Wcpp -Wformat-contains-nul -Wnormalized=nfc -Wsuggest-attribute=const \ -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines -Wjump-misses-init \ - -Wno-suggest-attribute=pure -Wno-suggest-attribute=const \ - -Wp,-U_FORTIFY_SOURCE -Wp,-D_FORTIFY_SOURCE=2 + -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Wp,-D_FORTIFY_SOURCE else EXTRA_CFLAGS = -Wunused-command-line-argument endif
libselinux/utils/Makefile +1 -2
@@ -32,8 +32,7 @@ CFLAGS ?= -O -Wall -W -Wundef -Wformat-y2k -Wformat-security -Winit-self -Wmissi -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \ -Woverflow -Wpointer-to-int-cast -Wpragmas \ -Wno-missing-field-initializers -Wno-sign-compare \ - -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) \ - -Wp,-U_FORTIFY_SOURCE -Wp,-D_FORTIFY_SOURCE=2 \ + -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -Wp,-D_FORTIFY_SOURCE \ -fstack-protector-all --param=ssp-buffer-size=4 -fexceptions \ -fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time \ -Werror -Wno-aggregate-return -Wno-redundant-decls \
libsemanage/src/genhomedircon.c +3 -11
@@ -290,9 +290,7 @@ static semanage_list_t *get_home_dirs(genhomedircon_settings_t * s)semanage_list_t *homedir_list =NULL ;semanage_list_t *shells =NULL ;fc_match_handle_t hand; -char *rbuf =NULL ;char *path =NULL ; -long rbuflen;uid_t temp, minuid =500 , maxuid =60000 ;int minuid_set =0 ;struct passwd *pwbuf;
@@ -361,12 +359,7 @@ static semanage_list_t *get_home_dirs(genhomedircon_settings_t * s)free (path); path =NULL ; - rbuflen =sysconf (_SC_GETPW_R_SIZE_MAX); -if (rbuflen <=0 ) - goto fail; - rbuf =malloc (rbuflen); -if (rbuf ==NULL ) - goto fail; + errno =0 ;setpwent ();while ((pwbuf =getpwent ()) !=NULL ) {if (pwbuf->pw_uid < minuid || pwbuf->pw_uid > maxuid)
@@ -410,9 +403,10 @@ static semanage_list_t *get_home_dirs(genhomedircon_settings_t * s) }free (path); path =NULL ; + errno =0 ; } -if (errno && errno !=ENOENT ) { +if (errno) {WARN (s->h_semanage,"Error while fetching users. " "Returning list so far." ); }
@@ -421,14 +415,12 @@ static semanage_list_t *get_home_dirs(genhomedircon_settings_t * s) goto fail;endpwent (); -free (rbuf);semanage_list_destroy (&shells);return homedir_list; fail:endpwent (); -free (rbuf);free (path);semanage_list_destroy (&homedir_list);semanage_list_destroy (&shells);