@@ -2396,54 +2396,77 @@ class TestNullPointer : public TestFixture {
23962396 const char errpq[] = " [test.cpp:1] -> [test.cpp:1]: (warning) Possible null pointer dereference: p - otherwise it is redundant to check it against null.\n "
23972397 " [test.cpp:1] -> [test.cpp:1]: (warning) Possible null pointer dereference: q - otherwise it is redundant to check it against null.\n " ;
23982398
2399- // str..
2400- check (" void f(char*p){ strchr (p,c);if(!p){}}" );
2399+ check (" void f(FILE *p){ clearerr (p);if(!p){}}" );
24012400 ASSERT_EQUALS (errp,errout.str ());
24022401
2403- check (" void f(char *p){ strdup (p);if(!p){}}" );
2402+ check (" void f(FILE *p){ feof (p);if(!p){}}" );
24042403 ASSERT_EQUALS (errp,errout.str ());
24052404
2406- check (" void f(char *p){ strlen (p);if(!p){}}" );
2405+ check (" void f(FILE *p){ fgetc (p);if(!p){}}" );
24072406 ASSERT_EQUALS (errp,errout.str ());
24082407
2409- check (" void f(char*p,char*q){ strcpy (p,q);if(!p||!q){}}" );
2408+ check (" void f(FILE *p){ fclose (p);if(!p){}}" );
2409+ ASSERT_EQUALS (errp,errout.str ());
2410+
2411+ check (" void f(FILE *p){ ferror (p);if(!p){}}" );
2412+ ASSERT_EQUALS (errp,errout.str ());
2413+
2414+ check (" void f(char * p,char * q){ fopen (p,q);if(!p||!q){}}" );
2415+ ASSERT_EQUALS (errpq,errout.str ());
2416+
2417+ check (" void f(FILE * p,fpos_t * q){ fgetpos (p,q);if(!p||!q){}}" );
2418+ ASSERT_EQUALS (errpq,errout.str ());
2419+
2420+ check (" void f(FILE * p,fpos_t * q){ fsetpos (p,q);if(!p||!q){}}" );
2421+ ASSERT_EQUALS (errpq,errout.str ());
2422+
2423+ check (" void f(char * p){ strchr (p,c);if(!p){}}" );
2424+ ASSERT_EQUALS (errp,errout.str ());
2425+
2426+ check (" void f(char * p){ strdup (p);if(!p){}}" );
2427+ ASSERT_EQUALS (errp,errout.str ());
2428+
2429+ check (" void f(char * p){ strlen (p);if(!p){}}" );
2430+ ASSERT_EQUALS (errp,errout.str ());
2431+
2432+ check (" void f(char * p,char * q){ strcpy (p,q);if(!p||!q){}}" );
24102433 ASSERT_EQUALS (errpq,errout.str ());
24112434
2412- check (" void f(char* p,char* q){ strspn (p,q);if(!p||!q){}}" );
2435+ check (" void f(char * p,char * q){ strspn (p,q);if(!p||!q){}}" );
24132436 ASSERT_EQUALS (errpq,errout.str ());
24142437
2415- check (" void f(char* p,char* q){ strcspn (p,q);if(!p||!q){}}" );
2438+ check (" void f(char * p,char * q){ strcspn (p,q);if(!p||!q){}}" );
24162439 ASSERT_EQUALS (errpq,errout.str ());
24172440
2418- check (" void f(char* p,char* q){ strcoll (p,q);if(!p||!q){}}" );
2441+ check (" void f(char * p,char * q){ strcoll (p,q);if(!p||!q){}}" );
24192442 ASSERT_EQUALS (errpq,errout.str ());
24202443
2421- check (" void f(char* p,char* q){ strcat (p,q);if(!p||!q){}}" );
2444+ check (" void f(char * p,char * q){ strcat (p,q);if(!p||!q){}}" );
24222445 ASSERT_EQUALS (errpq,errout.str ());
24232446
2424- check (" void f(char* p,char* q){ strcmp (p,q);if(!p||!q){}}" );
2447+ check (" void f(char * p,char * q){ strcmp (p,q);if(!p||!q){}}" );
24252448 ASSERT_EQUALS (errpq,errout.str ());
24262449
2427- check (" void f(char* p,char* q){ strncpy (p,q,1);if(!p||!q){}}" );
2450+ check (" void f(char * p,char * q){ strncpy (p,q,1);if(!p||!q){}}" );
24282451 ASSERT_EQUALS (errpq,errout.str ());
24292452
2430- check (" void f(char* p,char* q){ strncat (p,q,1);if(!p||!q){}}" );
2453+ check (" void f(char * p,char * q){ strncat (p,q,1);if(!p||!q){}}" );
24312454 ASSERT_EQUALS (errpq,errout.str ());
24322455
2433- check (" void f(char* p,char* q){ strncmp (p,q,1);if(!p||!q){}}" );
2456+ check (" void f(char * p,char * q){ strncmp (p,q,1);if(!p||!q){}}" );
24342457 ASSERT_EQUALS (errpq,errout.str ());
24352458
2436- check (" void f(char* p,char* q){ strstr (p,q);if(!p||!q){}}" );
2459+ check (" void f(char * p,char * q){ strstr (p,q);if(!p||!q){}}" );
24372460 ASSERT_EQUALS (errpq,errout.str ());
24382461
24392462 // strtol etc
2440- check (" void f(char* p,char* q){ strtoul (p,q,0);if(!p){}}" );
2463+ check (" void f(char * p,char * q){ strtoul (p,q,0);if(!p){}}" );
24412464 ASSERT_EQUALS (errp,errout.str ());
24422465
2443- check (" void f(char* p,char* q){ strtoull (p,q,0);if(!p){}}" );
2466+ check (" void f(char * p,char * q){ strtoull (p,q,0);if(!p){}}" );
24442467 ASSERT_EQUALS (errp,errout.str ());
24452468
2446- check (" void f(char* p,char* q){ strtol (p,q,0);if(!p){}}" );
2469+ check (" void f(char * p,char * q){ strtol (p,q,0);if(!p){}}" );
24472470 ASSERT_EQUALS (errp,errout.str ());
24482471 }
24492472};
0 commit comments