Flawfinder version 2.0.10, (C) 2001-2019 David A. Wheeler.
Number of rules (primarily dangerous function names) in C/C++ ruleset: 223
Examining data/etl-1.2.2/ETL/_pen.h
Examining data/etl-1.2.2/ETL/_value.h
Examining data/etl-1.2.2/ETL/etl_profile.h
Examining data/etl-1.2.2/ETL/etl_config.h
Examining data/etl-1.2.2/ETL/_smach.h
Examining data/etl-1.2.2/ETL/_bspline.h
Examining data/etl-1.2.2/ETL/_mutex_null.h
Examining data/etl-1.2.2/ETL/_angle.h
Examining data/etl-1.2.2/ETL/_boxblur.h
Examining data/etl-1.2.2/ETL/_fastangle.h
Examining data/etl-1.2.2/ETL/_bezier_angle.h
Examining data/etl-1.2.2/ETL/_condition.h
Examining data/etl-1.2.2/ETL/_clock_base.h
Examining data/etl-1.2.2/ETL/_fastangle_tables.h
Examining data/etl-1.2.2/ETL/_calculus.h
Examining data/etl-1.2.2/ETL/_clock_gettimeofday.h
Examining data/etl-1.2.2/ETL/_status.h
Examining data/etl-1.2.2/ETL/_clock_win32hpcount.h
Examining data/etl-1.2.2/ETL/_ref_count.h
Examining data/etl-1.2.2/ETL/_curve_func.h
Examining data/etl-1.2.2/ETL/_hermite.h
Examining data/etl-1.2.2/ETL/_misc.h
Examining data/etl-1.2.2/ETL/_handle.h
Examining data/etl-1.2.2/ETL/_mutex_pthreads_simple.h
Examining data/etl-1.2.2/ETL/_trivial.h
Examining data/etl-1.2.2/ETL/_thread.h
Examining data/etl-1.2.2/ETL/_curve.h
Examining data/etl-1.2.2/ETL/_bit_rotate.h
Examining data/etl-1.2.2/ETL/_random.h
Examining data/etl-1.2.2/ETL/_mutex_pthreads.h
Examining data/etl-1.2.2/ETL/_fixed.h
Examining data/etl-1.2.2/ETL/_bezier.h
Examining data/etl-1.2.2/ETL/_rect.h
Examining data/etl-1.2.2/ETL/_smart_ptr.h
Examining data/etl-1.2.2/ETL/_clock_system.h
Examining data/etl-1.2.2/ETL/_stringf.h
Examining data/etl-1.2.2/ETL/_gaussian.h
Examining data/etl-1.2.2/ETL/_rwlock.h
Examining data/etl-1.2.2/ETL/_surface.h
Examining data/etl-1.2.2/ETL/_mutex_win32.h
Examining data/etl-1.2.2/test/stringf.cpp
Examining data/etl-1.2.2/test/smart_ptr.cpp
Examining data/etl-1.2.2/test/fixed.cpp
Examining data/etl-1.2.2/test/surface.cpp
Examining data/etl-1.2.2/test/random.cpp
Examining data/etl-1.2.2/test/angle.cpp
Examining data/etl-1.2.2/test/spline.cpp
Examining data/etl-1.2.2/test/pen.cpp
Examining data/etl-1.2.2/test/handle.cpp
Examining data/etl-1.2.2/test/benchmark.cpp
Examining data/etl-1.2.2/test/hermite.cpp
Examining data/etl-1.2.2/test/clock.cpp
Examining data/etl-1.2.2/test/smach.cpp
Examining data/etl-1.2.2/test/value.cpp

FINAL RESULTS:

data/etl-1.2.2/ETL/_bezier.h:274:14:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		value_type system[4];
data/etl-1.2.2/ETL/_bezier.h:275:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		system[0]=_coeff[0]-x._coeff[0];
data/etl-1.2.2/ETL/_bezier.h:276:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		system[1]=_coeff[1]-x._coeff[1];
data/etl-1.2.2/ETL/_bezier.h:277:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		system[2]=_coeff[2]-x._coeff[2];
data/etl-1.2.2/ETL/_bezier.h:278:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		system[3]=_coeff[3]-x._coeff[3];
data/etl-1.2.2/ETL/_bezier.h:286:9:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
			t-= (system[0]+(system[1]+(system[2]+(system[3])*t)*t)*t)/
data/etl-1.2.2/ETL/_bezier.h:286:20:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
			t-= (system[0]+(system[1]+(system[2]+(system[3])*t)*t)*t)/
data/etl-1.2.2/ETL/_bezier.h:286:31:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
			t-= (system[0]+(system[1]+(system[2]+(system[3])*t)*t)*t)/
data/etl-1.2.2/ETL/_bezier.h:286:42:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
			t-= (system[0]+(system[1]+(system[2]+(system[3])*t)*t)*t)/
data/etl-1.2.2/ETL/_bezier.h:287:6:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
				(system[1]+(system[2]*2+(system[3]*3)*t)*t);
data/etl-1.2.2/ETL/_bezier.h:287:17:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
				(system[1]+(system[2]*2+(system[3]*3)*t)*t);
data/etl-1.2.2/ETL/_bezier.h:287:30:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
				(system[1]+(system[2]*2+(system[3]*3)*t)*t);
data/etl-1.2.2/ETL/_bezier.h:354:14:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		value_type system[4];
data/etl-1.2.2/ETL/_bezier.h:355:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		system[0]=_coeff[0]-x._coeff[0];
data/etl-1.2.2/ETL/_bezier.h:356:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		system[1]=_coeff[1]-x._coeff[1];
data/etl-1.2.2/ETL/_bezier.h:357:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		system[2]=_coeff[2]-x._coeff[2];
data/etl-1.2.2/ETL/_bezier.h:358:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		system[3]=_coeff[3]-x._coeff[3];
data/etl-1.2.2/ETL/_bezier.h:366:9:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
			t-= (system[0]+(system[1]+(system[2]+(system[3])*t)*t)*t)/
data/etl-1.2.2/ETL/_bezier.h:366:20:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
			t-= (system[0]+(system[1]+(system[2]+(system[3])*t)*t)*t)/
data/etl-1.2.2/ETL/_bezier.h:366:31:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
			t-= (system[0]+(system[1]+(system[2]+(system[3])*t)*t)*t)/
data/etl-1.2.2/ETL/_bezier.h:366:42:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
			t-= (system[0]+(system[1]+(system[2]+(system[3])*t)*t)*t)/
data/etl-1.2.2/ETL/_bezier.h:367:6:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
				(system[1]+(system[2]*2+(system[3]*3)*t)*t);
data/etl-1.2.2/ETL/_bezier.h:367:17:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
				(system[1]+(system[2]*2+(system[3]*3)*t)*t);
data/etl-1.2.2/ETL/_bezier.h:367:30:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
				(system[1]+(system[2]*2+(system[3]*3)*t)*t);
data/etl-1.2.2/ETL/_stringf.h:77:14:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
  extern int vsnprintf(char *,size_t,const char*,va_list)ETL_NO_THROW;
data/etl-1.2.2/ETL/_stringf.h:86:15:  [4] (buffer) vsscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
   extern int vsscanf(const char *,const char *,va_list)ETL_NO_THROW;
data/etl-1.2.2/ETL/_stringf.h:93:14:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  extern int sscanf(const char *buf, const char *format, ...)ETL_NO_THROW;
data/etl-1.2.2/ETL/_stringf.h:127:2:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
	vsnprintf(buffer,sizeof(buffer),format,args);
data/etl-1.2.2/ETL/_stringf.h:130:50:  [4] (buffer) vsprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
#warning Potential for Buffer-overflow bug using vsprintf
data/etl-1.2.2/ETL/_stringf.h:139:2:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
	vsprintf(buffer,format,args);
data/etl-1.2.2/ETL/_stringf.h:160:12:  [4] (buffer) vsscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
    return vsscanf(data.c_str(),format,args);
data/etl-1.2.2/ETL/_stringf.h:175:35:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
#define strscanf(data,format,...) sscanf(data.c_str(),format,__VA_ARGS__)
data/etl-1.2.2/test/handle.cpp:104:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: on create/destroy, instance count=%d, should be zero.\n",__LINE__,my_test_obj::instance_count);
data/etl-1.2.2/test/handle.cpp:117:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: on create/destroy, instance count=%d, should be zero.\n",__LINE__,my_test_obj::instance_count);
data/etl-1.2.2/test/handle.cpp:126:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: on call to handle<>::constant().\n",__LINE__);
data/etl-1.2.2/test/handle.cpp:150:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On copy, instance count=%d, should be %d.\n",__LINE__,my_test_obj::instance_count,NUMBER_OF_OBJECTS);
data/etl-1.2.2/test/handle.cpp:158:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On copy, instance count=%d, should be %d.\n",__LINE__,my_test_obj::instance_count,NUMBER_OF_OBJECTS);
data/etl-1.2.2/test/handle.cpp:166:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On copy's clear, instance count=%d, should be %d.\n",__LINE__,my_test_obj::instance_count,NUMBER_OF_OBJECTS);
data/etl-1.2.2/test/handle.cpp:176:4:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
			printf(__FILE__":%d: On swap (27,42) gave (%d,%d), should be (42,27).\n",__LINE__,a->my_id,b->my_id);
data/etl-1.2.2/test/handle.cpp:185:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On clear, instance count=%d, should be zero.\n",__LINE__,my_test_obj::instance_count);
data/etl-1.2.2/test/handle.cpp:224:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On copy, handle count=%d, should be %d.\n",__LINE__,obj.count(),NUMBER_OF_OBJECTS*2+1);
data/etl-1.2.2/test/handle.cpp:231:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On copy, rhandle count=%d, should be %d.\n",__LINE__,obj.rcount(),NUMBER_OF_OBJECTS+1);
data/etl-1.2.2/test/handle.cpp:239:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On copy, instance count=%d, should be %d.\n",__LINE__,obj.rcount(),NUMBER_OF_OBJECTS+1);
data/etl-1.2.2/test/handle.cpp:248:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On copy, instance count=%d, should be %d.\n",__LINE__,obj.rcount(),NUMBER_OF_OBJECTS+1);
data/etl-1.2.2/test/handle.cpp:257:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On copy's clear, handle count (%d) != rhandle count (%d)\n",__LINE__,obj.count(),obj.rcount());
data/etl-1.2.2/test/handle.cpp:264:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On copy's clear, instance count=%d, should be %d.\n",__LINE__,obj.rcount(),NUMBER_OF_OBJECTS+1);
data/etl-1.2.2/test/handle.cpp:275:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: Only managed to replace %d, should have replaced %d\n",__LINE__,replacements,NUMBER_OF_OBJECTS+1);
data/etl-1.2.2/test/handle.cpp:282:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On replace, handles should be equal.\n",__LINE__);
data/etl-1.2.2/test/handle.cpp:299:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On clear, instance count=%d, should be zero.\n",__LINE__,my_test_obj::instance_count);
data/etl-1.2.2/test/handle.cpp:328:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On clear, instance count=%d, should be zero.\n",__LINE__,my_test_obj::instance_count);
data/etl-1.2.2/test/handle.cpp:353:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On copy, instance count=%d, should be %d.\n",__LINE__,my_test_obj::instance_count,NUMBER_OF_OBJECTS);
data/etl-1.2.2/test/handle.cpp:363:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On inherited copy, instance count=%d, should be %d.\n",__LINE__,my_test_obj::instance_count,NUMBER_OF_OBJECTS*2);
data/etl-1.2.2/test/handle.cpp:372:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On sort, instance count=%d, should be %d.\n",__LINE__,my_test_obj::instance_count,NUMBER_OF_OBJECTS*2);
data/etl-1.2.2/test/handle.cpp:380:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On clear, instance count=%d, should be %d.\n",__LINE__,my_test_obj::instance_count,NUMBER_OF_OBJECTS);
data/etl-1.2.2/test/handle.cpp:388:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On clear, instance count=%d, should be zero.\n",__LINE__,my_test_obj::instance_count);
data/etl-1.2.2/test/handle.cpp:415:4:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
			printf(__FILE__":%d: on handle assignment from new object, instance count=%d, should be 1.\n",__LINE__,my_test_obj::instance_count);
data/etl-1.2.2/test/handle.cpp:423:4:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
			printf(__FILE__":%d: on loose_handle assignment\n",__LINE__);
data/etl-1.2.2/test/handle.cpp:431:4:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
			printf(__FILE__":%d: on handle assignment from loose_handle, instance count=%d, should be 1.\n",__LINE__,my_test_obj::instance_count);
data/etl-1.2.2/test/handle.cpp:439:4:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
			printf(__FILE__":%d: on handle assignment from loose_handle, instance count=%d, should be 1.\n",__LINE__,my_test_obj::instance_count);
data/etl-1.2.2/test/handle.cpp:450:4:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
			printf(__FILE__":%d: on loose_handle swap (27,42) gave (%d,%d), should be (42,27).\n",__LINE__,a->my_id,b->my_id);
data/etl-1.2.2/test/handle.cpp:458:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: on create/destroy, instance count=%d, should be 3.\n",__LINE__,my_test_obj::instance_count);
data/etl-1.2.2/test/handle.cpp:482:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: on handle assignment from loose_handle.\n",__LINE__);
data/etl-1.2.2/test/smart_ptr.cpp:103:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: on create/destroy, instance count=%d, should be zero.\n",__LINE__,my_test_obj::instance_count);
data/etl-1.2.2/test/smart_ptr.cpp:124:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: on create/destroy, instance count=%d, should be zero.\n",__LINE__,my_test_obj::instance_count);
data/etl-1.2.2/test/smart_ptr.cpp:133:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: on call to smart_ptr<>::constant().\n",__LINE__);
data/etl-1.2.2/test/smart_ptr.cpp:157:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On copy, instance count=%d, should be %d.\n",__LINE__,my_test_obj::instance_count,NUMBER_OF_OBJECTS);
data/etl-1.2.2/test/smart_ptr.cpp:165:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On copy, instance count=%d, should be %d.\n",__LINE__,my_test_obj::instance_count,NUMBER_OF_OBJECTS);
data/etl-1.2.2/test/smart_ptr.cpp:173:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On copy's clear, instance count=%d, should be %d.\n",__LINE__,my_test_obj::instance_count,NUMBER_OF_OBJECTS);
data/etl-1.2.2/test/smart_ptr.cpp:181:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On clear, instance count=%d, should be zero.\n",__LINE__,my_test_obj::instance_count);
data/etl-1.2.2/test/smart_ptr.cpp:206:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On copy, instance count=%d, should be %d.\n",__LINE__,my_test_obj::instance_count,NUMBER_OF_OBJECTS);
data/etl-1.2.2/test/smart_ptr.cpp:216:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On inherited copy, instance count=%d, should be %d.\n",__LINE__,my_test_obj::instance_count,NUMBER_OF_OBJECTS*2);
data/etl-1.2.2/test/smart_ptr.cpp:225:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On sort, instance count=%d, should be %d.\n",__LINE__,my_test_obj::instance_count,NUMBER_OF_OBJECTS*2);
data/etl-1.2.2/test/smart_ptr.cpp:233:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On clear, instance count=%d, should be %d.\n",__LINE__,my_test_obj::instance_count,NUMBER_OF_OBJECTS);
data/etl-1.2.2/test/smart_ptr.cpp:241:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: On clear, instance count=%d, should be zero.\n",__LINE__,my_test_obj::instance_count);
data/etl-1.2.2/test/smart_ptr.cpp:267:4:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
			printf(__FILE__":%d: on smart_ptr assignment from new object, instance count=%d, should be 1.\n",__LINE__,my_test_obj::instance_count);
data/etl-1.2.2/test/smart_ptr.cpp:275:4:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
			printf(__FILE__":%d: on loose_smart_ptr assignment\n",__LINE__);
data/etl-1.2.2/test/smart_ptr.cpp:283:4:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
			printf(__FILE__":%d: on smart_ptr assignment from loose_smart_ptr, instance count=%d, should be 1.\n",__LINE__,my_test_obj::instance_count);
data/etl-1.2.2/test/smart_ptr.cpp:291:4:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
			printf(__FILE__":%d: on smart_ptr assignment from loose_smart_ptr, instance count=%d, should be 1.\n",__LINE__,my_test_obj::instance_count);
data/etl-1.2.2/test/smart_ptr.cpp:299:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		printf(__FILE__":%d: on create/destroy, instance count=%d, should be 1.\n",__LINE__,my_test_obj::instance_count);
data/etl-1.2.2/ETL/_random.h:82:7:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
class random
data/etl-1.2.2/ETL/_random.h:95:2:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
	random()
data/etl-1.2.2/test/random.cpp:35:2:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
	random<int> Rand;
data/etl-1.2.2/ETL/_stringf.h:123:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buffer[ETL_STRPRINTF_MAX_LENGTH];
data/etl-1.2.2/ETL/_stringf.h:125:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	static char buffer[ETL_STRPRINTF_MAX_LENGTH];
data/etl-1.2.2/ETL/_stringf.h:135:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buffer[ETL_STRPRINTF_MAX_LENGTH*2];
data/etl-1.2.2/ETL/_stringf.h:137:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	static char buffer[ETL_STRPRINTF_MAX_LENGTH*2];
data/etl-1.2.2/ETL/_stringf.h:181:21:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#define stratoi(X) (atoi((X).c_str()))
data/etl-1.2.2/ETL/_stringf.h:306:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char dir[256];
data/etl-1.2.2/ETL/_surface.h:270:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
			memcpy(data_,s.data_,abs(pitch_)*h_);
data/etl-1.2.2/ETL/_surface.h:310:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(data_,rhs.data_,pitch_*h_);
data/etl-1.2.2/ETL/_surface.h:320:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(data_, rhs.data_, pitch_*h_);
data/etl-1.2.2/ETL/_trivial.h:59:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char data[sizeof(T)];
data/etl-1.2.2/test/stringf.cpp:41:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char mystring[80]="My formatted string!";

ANALYSIS SUMMARY:

Hits = 93
Lines analyzed = 19269 in approximately 0.85 seconds (22763 lines/second)
Physical Source Lines of Code (SLOC) = 13469
Hits@level = [0] 318 [1]   0 [2]  11 [3]   3 [4]  79 [5]   0
Hits@level+ = [0+] 411 [1+]  93 [2+]  93 [3+]  82 [4+]  79 [5+]   0
Hits/KSLOC@level+ = [0+] 30.5145 [1+] 6.90474 [2+] 6.90474 [3+] 6.08805 [4+] 5.86532 [5+]   0
Dot directories skipped = 1 (--followdotdir overrides)
Minimum risk level = 1
Not every hit is necessarily a security vulnerability.
There may be other security vulnerabilities; review your code!
See 'Secure Programming HOWTO'
(https://dwheeler.com/secure-programs) for more information.