From: Alejandro Colomar Date: Thu, 8 Jun 2023 18:46:09 +0000 (+0200) Subject: chsh: Replace STRFCPY() by STRLCPY() X-Git-Tag: 4.15.0-rc1~196 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2ffc1a76f58aae642358d7a4fb9a305c98e26273;p=thirdparty%2Fshadow.git chsh: Replace STRFCPY() by STRLCPY() The variables are only being read as strings (char *), so data after the '\0' can't be leaked. Cc: Christian Göttsche Cc: Serge Hallyn Cc: Iker Pedrosa Signed-off-by: Alejandro Colomar --- diff --git a/src/chsh.c b/src/chsh.c index e069b9fb3..29f8afc8c 100644 --- a/src/chsh.c +++ b/src/chsh.c @@ -31,6 +31,7 @@ /*@-exitarg@*/ #include "exitcodes.h" #include "shadowlog.h" +#include "strlcpy.h" #ifndef SHELLS_FILE #define SHELLS_FILE "/etc/shells" @@ -257,7 +258,7 @@ static void process_flags (int argc, char **argv) break; case 's': sflg = true; - STRFCPY (loginsh, optarg); + STRLCPY(loginsh, optarg); break; default: usage (E_USAGE); @@ -552,7 +553,7 @@ int main (int argc, char **argv) * file, or use the value from the command line. */ if (!sflg) { - STRFCPY (loginsh, pw->pw_shell); + STRLCPY(loginsh, pw->pw_shell); } /*