From: Carlos Santos Date: Tue, 11 Dec 2018 11:21:13 +0000 (-0200) Subject: package/libpam-tacplus: fix compilation with GCC 8 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5d92c696cc80e76946444f812412b25cea4c860d;p=buildroot.git package/libpam-tacplus: fix compilation with GCC 8 GCC 8 demands that the size of the string copied by strncpy be smaller than the size of the destination to keep space for the trailibg '\0'. This causes a compilation error in pam_tacplus, so add a patch already sent uptream to fix it. Fixes: http://autobuild.buildroot.net/results/da6d150e470046c03c5f7463de045604e15e4a30/ Signed-off-by: Carlos Santos Signed-off-by: Thomas Petazzoni --- diff --git a/package/libpam-tacplus/0002-Fix-compilation-of-tacc.c-with-GCC-8.patch b/package/libpam-tacplus/0002-Fix-compilation-of-tacc.c-with-GCC-8.patch new file mode 100644 index 0000000000..2f87b92767 --- /dev/null +++ b/package/libpam-tacplus/0002-Fix-compilation-of-tacc.c-with-GCC-8.patch @@ -0,0 +1,39 @@ +From 4c9635b03d0acf140f65004be9d4822297ee5a35 Mon Sep 17 00:00:00 2001 +From: Carlos Santos +Date: Mon, 10 Dec 2018 17:27:16 -0200 +Subject: [PATCH] Fix compilation of tacc.c with GCC 8 + +GCC 8 demands that the size of the string copied by strncpy be smaller +than the size of the destination to keep space for the trailibg '\0': + +tacc.c:378:3: error: 'strncpy' specified bound 4 equals destination size [-Werror=stringop-truncation] + strncpy(utmpx.ut_id, tty + C_STRLEN("tty"), sizeof(utmpx.ut_id)); + +Ensure that no more than sizeof(utmpx.ut_id) - 1 characters are copied +and that a trailing '\0' is stored. + +Fixes: + http://autobuild.buildroot.net/results/da6d150e470046c03c5f7463de045604e15e4a30/ + +Signed-off-by: Carlos Santos +--- + tacc.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/tacc.c b/tacc.c +index f61e2d7..3c1a40c 100644 +--- a/tacc.c ++++ b/tacc.c +@@ -375,7 +375,8 @@ int main(int argc, char **argv) { + utmpx.ut_type = USER_PROCESS; + utmpx.ut_pid = getpid(); + xstrcpy(utmpx.ut_line, tty, sizeof(utmpx.ut_line)); +- strncpy(utmpx.ut_id, tty + C_STRLEN("tty"), sizeof(utmpx.ut_id)); ++ strncpy(utmpx.ut_id, tty + C_STRLEN("tty"), sizeof(utmpx.ut_id) - 1); ++ utmpx.ut_id[sizeof(utmpx.ut_id) - 1] = '\0'; + xstrcpy(utmpx.ut_host, "dialup", sizeof(utmpx.ut_host)); + utmpx.ut_tv.tv_sec = tv.tv_sec; + utmpx.ut_tv.tv_usec = tv.tv_usec; +-- +2.14.5 +