[Bug 224143] [PATCH] fmtcheck(3) misjudges format string with fewer arguments

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Dec 6 12:57:27 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224143

            Bug ID: 224143
           Summary: [PATCH] fmtcheck(3) misjudges format string with fewer
                    arguments
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Keywords: patch
          Severity: Affects Some People
          Priority: ---
         Component: bin
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: rokuyama at rk.phys.keio.ac.jp
          Keywords: patch

Created attachment 188583
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=188583&action=edit
Correct oversight of wrong format string with fewer arguments.

fmtcheck(3) misjudges some format strings as valid when they have fewer
arguments
than default format strings have:

----
% uname -a
FreeBSD freebsd 12.0-CURRENT FreeBSD 12.0-CURRENT #0 r325595: Thu Nov  9
16:03:47 UTC 2017    
root at releng3.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC  amd64
% cat test.c
#include <stdio.h>
int main() {
        const char *s1 = "One argument: %d", *s2 = "Two arguments: %d %d";
        printf("%s\n", fmtcheck(s1, s2));
        printf("%s\n", fmtcheck(s2, s1));
}
% cc test.c && ./a.out
One argument: %d
One argument: %d
----

Here, the first line should be "Two arguments: %d %d".

Please apply the attached patch, which has been committed to NetBSD by myself:
http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/gen/fmtcheck.c#rev1.11

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list