From 80e3b49cfcc1a6cdb33abc06bb8f0457c17d586b Mon Sep 17 00:00:00 2001 From: orbitcowboy Date: Thu, 20 Mar 2014 04:10:41 +0100 Subject: [PATCH] Added support for ftell() and puts() to std.cfg. --- cfg/std.cfg | 10 ++++++++++ test/testnullpointer.cpp | 6 ++++++ test/testuninitvar.cpp | 26 +++++++++++++++++++++++++- 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/cfg/std.cfg b/cfg/std.cfg index ec2154f5a..122ca89c9 100644 --- a/cfg/std.cfg +++ b/cfg/std.cfg @@ -45,6 +45,16 @@ + + false + + + + + false + + + false 0-255 false 0-255 false 0-255 diff --git a/test/testnullpointer.cpp b/test/testnullpointer.cpp index 02573d660..eec9fda93 100644 --- a/test/testnullpointer.cpp +++ b/test/testnullpointer.cpp @@ -2411,6 +2411,12 @@ private: check("void f(FILE *p){ ferror (p);if(!p){}}"); ASSERT_EQUALS(errp,errout.str()); + check("void f(FILE *p){ ftell (p);if(!p){}}"); + ASSERT_EQUALS(errp,errout.str()); + + check("void f(char *p){ puts (p);if(!p){}}"); + ASSERT_EQUALS(errp,errout.str()); + check("void f(char * p,char * q){ fopen (p,q);if(!p||!q){}}"); ASSERT_EQUALS(errpq,errout.str()); diff --git a/test/testuninitvar.cpp b/test/testuninitvar.cpp index 688837f7d..690064e1a 100644 --- a/test/testuninitvar.cpp +++ b/test/testuninitvar.cpp @@ -3605,7 +3605,6 @@ private: "}"); ASSERT_EQUALS("", errout.str()); - // fputs checkUninitVar("void f() {\n" " char *c;\n" @@ -3619,6 +3618,31 @@ private: " fputs (c, f);\n" "}"); ASSERT_EQUALS("", errout.str()); + + // ftell + checkUninitVar("void f() {\n" + " FILE *f;" + " ftell (f);\n" + "}"); + ASSERT_EQUALS("[test.cpp:2]: (error) Uninitialized variable: f\n", errout.str()); + + checkUninitVar("void f( FILE *f) {\n" + " ftell (f);\n" + "}"); + ASSERT_EQUALS("", errout.str()); + + // puts + checkUninitVar("void f() {\n" + " char *c;" + " puts (c);\n" + "}"); + ASSERT_EQUALS("[test.cpp:2]: (error) Uninitialized variable: c\n", errout.str()); + + checkUninitVar("void f( char *c) {\n" + " puts (c);\n" + "}"); + ASSERT_EQUALS("", errout.str()); + } };