From 1e4c33a677ba085bbbbfff211719ae4bb571c5b1 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Fri, 16 Jul 2010 02:11:34 +0000 Subject: [PATCH] Add initial test cases for scanf format string checking. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108503 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Sema/format-strings-scanf.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 test/Sema/format-strings-scanf.c diff --git a/test/Sema/format-strings-scanf.c b/test/Sema/format-strings-scanf.c new file mode 100644 index 0000000000..cd68410693 --- /dev/null +++ b/test/Sema/format-strings-scanf.c @@ -0,0 +1,14 @@ +// RUN: %clang_cc1 -fsyntax-only -verify -Wformat-nonliteral %s + +typedef __typeof(sizeof(int)) size_t; +typedef struct _FILE FILE; + +int fscanf(FILE * restrict, const char * restrict, ...) ; +int scanf(const char * restrict, ...) ; +int sscanf(const char * restrict, const char * restrict, ...) ; + +void test(const char *s, int *i) { + scanf(s, i); // expected-warning{{ormat string is not a string literal}} + scanf("%0d", i); // expected-warning{{conversion specifies 0 input characters for field width}} + scanf("%00d", i); // expected-warning{{conversion specifies 0 input characters for field width}} +} -- 2.40.0