bin/165699: [patch] make sbin/mca compile with clang
Arne Meyer
meyer.arne83 at gmail.com
Sun Mar 4 23:20:09 UTC 2012
>Number: 165699
>Category: bin
>Synopsis: [patch] make sbin/mca compile with clang
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Mar 04 23:20:08 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Arne Meyer
>Release: 9-STABLE
>Organization:
>Environment:
FreeBSD partyvan 9.0-STABLE FreeBSD 9.0-STABLE #1 r232126M: Fri Feb 24 21:15:58 CET 2012 pk at partyvan:
/usr/obj/usr/src/sys/PARTYVAN i386
>Description:
partyvan# make CC=clang
clang -O2 -pipe -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unus
ed-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-s
trings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wno-uninitialized -Wno-pointer-sign -c mca.c
mca.c:473:11: error: format string is not a string literal (potentially insecure)
[-Werror,-Wformat-security]
err(1, hw_mca_count);
^~~~~~~~~~~~
mca.c:480:11: error: format string is not a string literal (potentially insecure)
[-Werror,-Wformat-security]
err(1, hw_mca_first);
^~~~~~~~~~~~
mca.c:484:11: error: format string is not a string literal (potentially insecure)
[-Werror,-Wformat-security]
err(1, hw_mca_last);
^~~~~~~~~~~
3 errors generated.
*** Error code 1
>How-To-Repeat:
>Fix:
Patch attached with submission follows:
--- mca.c.orig 2012-03-04 23:50:42.000000000 +0100
+++ mca.c 2012-03-04 23:53:11.000000000 +0100
@@ -55,10 +55,10 @@
#define HW_MCA_MAX_CPUID 255
-static char hw_mca_count[] = "hw.mca.count";
-static char hw_mca_first[] = "hw.mca.first";
-static char hw_mca_last[] = "hw.mca.last";
-static char hw_mca_recid[] = "hw.mca.%lu.%u";
+static const char hw_mca_count[] = "hw.mca.count";
+static const char hw_mca_first[] = "hw.mca.first";
+static const char hw_mca_last[] = "hw.mca.last";
+static const char hw_mca_recid[] = "hw.mca.%lu.%u";
static char default_dumpfile[] = "/var/log/mca.log";
@@ -487,7 +487,7 @@
error = 0;
while (count && first <= last) {
do {
- sprintf(mib, hw_mca_recid, first, cpuid);
+ sprintf(mib, hw_mca_recid, (unsigned long)first, cpuid);
len = 0;
ch = sysctlbyname(mib, NULL, &len, NULL, 0);
error = (ch == -1) ? errno : 0;
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list