From: Christian Göttsche Date: Mon, 3 Jan 2022 11:31:49 +0000 (+0100) Subject: Declare read-only arguments of run_part(s) const X-Git-Tag: 4.12~93^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a8166a86ed682af036bef501dc73af9779d346a9;p=thirdparty%2Fshadow.git Declare read-only arguments of run_part(s) const run_part() and run_parts() do not modify their directory, name and action arguments. Also include the header in the implementation to provide the prototypes. useradd.c:2495:59: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual] 2495 | if (run_parts ("/etc/shadow-maint/useradd-pre.d", (char*)user_name, | ^ useradd.c:2495:24: warning: passing argument 1 of ‘run_parts’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 2495 | if (run_parts ("/etc/shadow-maint/useradd-pre.d", (char*)user_name, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from useradd.c:45: ../lib/run_part.h:2:22: note: expected ‘char *’ but argument is of type ‘const char *’ 2 | int run_parts (char *directory, char *name, char *action); | ~~~~~~^~~~~~~~~ useradd.c:2496:25: warning: passing argument 3 of ‘run_parts’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 2496 | "useradd")) { | ^~~~~~~~~ --- diff --git a/lib/run_part.c b/lib/run_part.c index 1ce06be04..884bbefab 100644 --- a/lib/run_part.c +++ b/lib/run_part.c @@ -8,9 +8,10 @@ #include #include #include +#include "run_part.h" #include "shadowlog_internal.h" -int run_part (char *script_path, char *name, char *action) +int run_part (char *script_path, const char *name, const char *action) { int pid; int wait_status; @@ -39,7 +40,7 @@ int run_part (char *script_path, char *name, char *action) return (1); } -int run_parts (char *directory, char *name, char *action) +int run_parts (const char *directory, const char *name, const char *action) { struct dirent **namelist; int scanlist; diff --git a/lib/run_part.h b/lib/run_part.h index d3d806637..0b68dbfc2 100644 --- a/lib/run_part.h +++ b/lib/run_part.h @@ -1,2 +1,2 @@ -int run_part (char *script_path, char *name, char *action); -int run_parts (char *directory, char *name, char *action); +int run_part (char *script_path, const char *name, const char *action); +int run_parts (const char *directory, const char *name, const char *action); diff --git a/src/useradd.c b/src/useradd.c index 456b9de5a..34376fa5d 100644 --- a/src/useradd.c +++ b/src/useradd.c @@ -2492,7 +2492,7 @@ int main (int argc, char **argv) (!user_id || (user_id <= uid_max && user_id >= uid_min)); #endif /* ENABLE_SUBIDS */ - if (run_parts ("/etc/shadow-maint/useradd-pre.d", (char*)user_name, + if (run_parts ("/etc/shadow-maint/useradd-pre.d", user_name, "useradd")) { exit(1); } @@ -2715,7 +2715,7 @@ int main (int argc, char **argv) create_mail (); } - if (run_parts ("/etc/shadow-maint/useradd-post.d", (char*)user_name, + if (run_parts ("/etc/shadow-maint/useradd-post.d", user_name, "useradd")) { exit(1); }