git: 5925cd3e9c3c - main - security/cracklib: fix build with clang 15
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 12 Dec 2022 15:32:25 UTC
The branch main has been updated by dim (src committer): URL: https://cgit.FreeBSD.org/ports/commit/?id=5925cd3e9c3cea926aee6c78aaa1f708665dfa8d commit 5925cd3e9c3cea926aee6c78aaa1f708665dfa8d Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2022-12-12 15:09:19 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2022-12-12 15:31:26 +0000 security/cracklib: fix build with clang 15 During an exp-run for llvm 15 (see bug 265425), it turned out that security/cracklib failed to build with clang 15: rules.c:346:50: warning: too few arguments in call to 'Debug' Debug(1, "MatchClass: unknown class %c\n", class); ~~~~~ ^ rules.c:346:45: error: incompatible integer to pointer conversion passing 'char' to parameter of type 'char *'; take the address with & [-Wint-conversion] Debug(1, "MatchClass: unknown class %c\n", class); ^~~~~ & This is because cracklib is very old K&R source, and the Debug() function is not defined with varargs, but an arbitrary amount of char pointer arguments. Since the Debug() function does nothing anyway, define it as a varargs macro instead. This also gets rid of most of the other compilation warnings. PR: 268334 Approved by: cy (maintainer) MFH: 2022Q4 --- security/cracklib/files/patch-lib_rules.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/security/cracklib/files/patch-lib_rules.c b/security/cracklib/files/patch-lib_rules.c new file mode 100644 index 000000000000..db39252161ad --- /dev/null +++ b/security/cracklib/files/patch-lib_rules.c @@ -0,0 +1,11 @@ +--- lib/rules.c.orig 2019-02-14 01:54:41 UTC ++++ lib/rules.c +@@ -26,6 +26,8 @@ Debug(val, a, b, c, d, e, f, g) + { + fprintf(stderr, a, b, c, d, e, f, g); + } ++#elif 1 ++#define Debug(n, f, ...) do {} while (0) + #else + static void + Debug(val, a, b, c, d, e, f, g)