Index: trunk/docs/Changelog
===================================================================
--- trunk/docs/Changelog	(revision 472)
+++ trunk/docs/Changelog	(revision 473)
@@ -1,3 +1,5 @@
 
+	* Modify testcompile.sh to remove 'uno' and use 'cppcheck'
+	  for static checking
 	* Move AC_CHECK_FUNCS( getnameinfo getaddrinfo ) behind
 	  the check for libsocket to have them found on Solaris
Index: trunk/src/samhain.c
===================================================================
--- trunk/src/samhain.c	(revision 472)
+++ trunk/src/samhain.c	(revision 473)
@@ -156,5 +156,8 @@
   ptr->g_glob     = calloc(1, SH_MAX_GLOBS * (GLOB_LEN+1));
   if (!(ptr->g_glob))
-    return -1;
+    {
+      free(ptr);
+      return -1;
+    }
   return pthread_setspecific(g_key, ptr);
 }
Index: trunk/src/sh_calls.c
===================================================================
--- trunk/src/sh_calls.c	(revision 472)
+++ trunk/src/sh_calls.c	(revision 473)
@@ -200,5 +200,5 @@
   error = errno;
   if (val_retry != 0) {
-    long eport;
+    long eport = 0;
     char eaddr[SH_IP_BUF];
     char emesg[SH_BUFSIZE];
Index: trunk/src/sh_entropy.c
===================================================================
--- trunk/src/sh_entropy.c	(revision 472)
+++ trunk/src/sh_entropy.c	(revision 473)
@@ -640,4 +640,5 @@
       }
       
+      /* cppcheck-suppress leakNoVarFunctionCall */
       if (NULL != freopen (_("/dev/null"), "r+", stderr))
 	{
Index: trunk/src/sh_html.c
===================================================================
--- trunk/src/sh_html.c	(revision 472)
+++ trunk/src/sh_html.c	(revision 473)
@@ -311,7 +311,12 @@
 	  if (entry_orig != NULL)
 	    {
-	      entry_orig = realloc(entry_orig,           /* free() ok     */
+	      char * ptr = realloc(entry_orig,           /* free() ok     */
 				   entry_size + line_size + 1);
-	      if (entry_orig) { add_size = line_size; }
+	      if (ptr) {
+		entry_orig = ptr;
+		add_size = line_size; 
+	      } else {
+		{ free(entry_orig); entry_orig = NULL; }
+	      }
 	    }
 	  else
Index: trunk/src/sh_portcheck.c
===================================================================
--- trunk/src/sh_portcheck.c	(revision 472)
+++ trunk/src/sh_portcheck.c	(revision 473)
@@ -1688,5 +1688,5 @@
 						 char * interface, int type)
 {
-  char buf[256];
+  char buf[256] = { '\0' };
   int proto;
   char * p;
Index: trunk/src/sh_srp.c
===================================================================
--- trunk/src/sh_srp.c	(revision 472)
+++ trunk/src/sh_srp.c	(revision 473)
@@ -114,5 +114,11 @@
       size = strlen(str) + 1;
       if (size > siz_str_internal)
-	get_str_internal = realloc (get_str_internal, size);
+	{
+	  char * ptr = realloc (get_str_internal, size);
+	  if (ptr)
+	    get_str_internal = ptr;
+	  else
+	    { free(get_str_internal); get_str_internal = NULL; }
+	}
       if (get_str_internal == NULL)
 	{
Index: trunk/src/sh_static.c
===================================================================
--- trunk/src/sh_static.c	(revision 472)
+++ trunk/src/sh_static.c	(revision 473)
@@ -1641,4 +1641,5 @@
 	; /* 'label at end of compound statement' */
 	SH_MUTEX_UNLOCK(resolv_lock);
+	/* cppcheck-suppress resourceLeak */
 	return 0;
 }
Index: trunk/src/sh_unix.c
===================================================================
--- trunk/src/sh_unix.c	(revision 472)
+++ trunk/src/sh_unix.c	(revision 473)
@@ -1504,5 +1504,8 @@
     if (env1[envlen] == NULL)
       {
+	int i;
 	fprintf(stderr, _("%s: %d: Out of memory\n"), FIL__, __LINE__);
+	for (i = 0; i < envlen; ++i) free(env1[len]);
+	free(env1);
 	SL_RET0(_("sh_unix_copyenv"));
       }
@@ -5672,4 +5675,5 @@
 
   sigtrap_variables->not_traced = signum;
+  /* cppcheck-suppress memleak */
   return;
 }
Index: trunk/src/sh_utils.c
===================================================================
--- trunk/src/sh_utils.c	(revision 472)
+++ trunk/src/sh_utils.c	(revision 473)
@@ -1315,7 +1315,12 @@
   while (0 < (ii = sl_read (fp, &image[s], 4096)))
     {
+      unsigned char * ptr;
       ilen += ii;
       s    += 4096;
-      image = realloc (image, (size_t) (4096 + s));
+      ptr = realloc (image, (size_t) (4096 + s));
+      if (ptr)
+	image = ptr;
+      else
+	{ free(image); image = NULL; }
       if (!image)
 	goto bail_mem;
Index: trunk/src/slib.c
===================================================================
--- trunk/src/slib.c	(revision 472)
+++ trunk/src/slib.c	(revision 473)
@@ -1738,4 +1738,5 @@
   /* Make entry.
    */
+  /* cppcheck-suppress arrayIndexOutOfBoundsCond */
   if (fd >= MAXFD || fd < 0)
      {
@@ -2010,4 +2011,5 @@
   /* Make entry.
    */
+  /* cppcheck-suppress arrayIndexOutOfBoundsCond */
   if (fd >= MAXFD)
      {
Index: trunk/test/testcompile.sh
===================================================================
--- trunk/test/testcompile.sh	(revision 472)
+++ trunk/test/testcompile.sh	(revision 473)
@@ -20,6 +20,6 @@
 #
 
-# dnmalloc + flawfinder + (36 * 3)
-MAXTEST=116; export MAXTEST
+# dnmalloc + cppcheck + flawfinder + (38 * 2)
+MAXTEST=79; export MAXTEST
 
 run_dnmalloc ()
@@ -83,27 +83,27 @@
 }
 
-run_uno ()
+run_cppcheck ()
 {
     if [ -z "$doall" ]; then
-	[ -z "$quiet" ] && log_skip $2 ${MAXTEST} "$TEST (uno)";
+	[ -z "$quiet" ] && log_skip $2 ${MAXTEST} "check w/cppcheck";
 	return 0
     fi
     #
-    UNO=`find_path uno`
+    CPC=`find_path cppcheck`
     #
-    if [ -z "$UNO" ]; then
-	log_skip $num $MAXTEST 'check w/uno (not in PATH)'
+    if [ -z "$CPC" ]; then
+	log_skip $num ${MAXTEST} 'check w/cppcheck (not in PATH)'
 	return 0
     fi
     #
     cd src/
-    stat=`uno -DHAVE_MMAP=1 -DUSE_UNO=1 -t -I. -I.. -I../include sh_*.c samhain.c slib.c dnmalloc.c zAVLTree.c trustfile.c rijndael-*.c bignum.c 2>&1 | wc -l`
-    if [ $stat -ne 1 ]; then
-	uno -DSH_WITH_CLIENT -DSH_WITH_SERVER -DHAVE_MMAP=1 -DUSE_UNO=1 -t -I. -I.. -I../include sh_*.c samhain.c slib.c dnmalloc.c zAVLTree.c trustfile.c rijndael-*.c bignum.c >>../test_log 2>&1
+    stat=`cppcheck --quiet --inline-suppr --force -j 4 --template="{file},{line},{severity},{id},{message}" -I. -I.. -I../include sh_*.c samhain.c slib.c dnmalloc.c zAVLTree.c trustfile.c rijndael-*.c bignum.c 2>&1 | wc -l`
+    if [ $stat -ne 0 ]; then
+	cppcheck --quiet --inline-suppr --force -j 4 --template="{file},{line},{severity},{id},{message}" -I. -I.. -I../include sh_*.c samhain.c slib.c dnmalloc.c zAVLTree.c trustfile.c rijndael-*.c bignum.c >>../test_log 2>&1
 	retval=1
-	[ -z "$quiet" ] && log_fail $2 ${MAXTEST} "$TEST (uno)";
+	[ -z "$quiet" ] && log_fail $2 ${MAXTEST} "check w/cppcheck";
     else
 	retval=0
-	[ -z "$quiet" ] &&     log_ok   $2 ${MAXTEST} "$TEST (uno)";
+	[ -z "$quiet" ] &&     log_ok   $2 ${MAXTEST} "check w/cppcheck";
     fi
     cd ..
@@ -303,4 +303,14 @@
 
 	#
+	# test dnmalloc
+	#
+        TEST="${S}check w/cppcheck${E}"
+	#
+	let "num = num + 1" >/dev/null
+	#
+	run_cppcheck 0 $num || let "numfail = numfail + 1"  >/dev/null
+	#
+
+	#
 	# test flawfinder
 	#
@@ -333,6 +343,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	#
@@ -353,6 +361,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 	#
 	[ -z "${SMATCH_CC}" ] || { CC="${SMATCH_CC}"; export CC; SMATCH="${SAVE_SMATCH}"; export SMATCH; }
@@ -372,6 +378,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	#
@@ -392,6 +396,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 	#
 	[ -z "${SMATCH_CC}" ] || { CC="${SMATCH_CC}"; export CC; SMATCH="${SAVE_SMATCH}"; export SMATCH; }
@@ -411,6 +413,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	#
@@ -429,6 +429,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 
@@ -448,6 +446,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	#
@@ -466,6 +462,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	#
@@ -484,6 +478,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num debug || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	#
@@ -509,6 +501,4 @@
 	    let "num = num + 1" >/dev/null
 	    run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	    let "num = num + 1" >/dev/null
-	    run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 	fi
 
@@ -528,6 +518,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	#
@@ -546,6 +534,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	#
@@ -564,6 +550,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	#
@@ -582,6 +566,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	#
@@ -600,6 +582,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	#
@@ -618,6 +598,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	#
@@ -636,6 +614,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	#
@@ -654,6 +630,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	# echo; echo "${S}__ TEST CLIENT/SERVER __${E}"; echo;
@@ -674,6 +648,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 	
 	if test -r "Makefile"; then
@@ -687,6 +659,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	#
@@ -700,6 +670,4 @@
 	    let "num = num + 1" >/dev/null
 	    [ -z "$quiet" ] && log_skip $num ${MAXTEST} "$TEST (smatch)";
-	    let "num = num + 1" >/dev/null
-	    [ -z "$quiet" ] && log_skip $num ${MAXTEST} "$TEST (uno)";
 
 	    let "num = num + 1" >/dev/null
@@ -707,6 +675,4 @@
 	    let "num = num + 1" >/dev/null
 	    [ -z "$quiet" ] && log_skip $num ${MAXTEST} "$TEST (smatch)";
-	    let "num = num + 1" >/dev/null
-	    [ -z "$quiet" ] && log_skip $num ${MAXTEST} "$TEST (uno)";
 	else
 	    if test -r "Makefile"; then
@@ -720,6 +686,4 @@
 	    let "num = num + 1" >/dev/null
 	    run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	    let "num = num + 1" >/dev/null
-	    run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 	    
 	    if test -r "Makefile"; then
@@ -733,6 +697,4 @@
 	    let "num = num + 1" >/dev/null
 	    run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	    let "num = num + 1" >/dev/null
-	    run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 	    #
 	fi
@@ -755,6 +717,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 	
 	if test -r "Makefile"; then
@@ -768,6 +728,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 	#
 	[ -z "${SMATCH_CC}" ] || { CC="${SMATCH_CC}"; export CC; SMATCH="${SAVE_SMATCH}"; export SMATCH; }
@@ -798,6 +756,4 @@
 	    let "num = num + 1" >/dev/null
 	    run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	    let "num = num + 1" >/dev/null
-	    run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 	    #
 	    if test -r "Makefile"; then
@@ -811,6 +767,4 @@
 	    let "num = num + 1" >/dev/null
 	    run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	    let "num = num + 1" >/dev/null
-	    run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 	fi
 
@@ -831,6 +785,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 	#
 	if test -r "Makefile"; then
@@ -844,6 +796,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	#
@@ -862,6 +812,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num debug || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 	#
 	if test -r "Makefile"; then
@@ -875,6 +823,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num debug || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	#
@@ -893,6 +839,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 	#
 	if test -r "Makefile"; then
@@ -906,6 +850,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	#
@@ -924,6 +866,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 	#
 	if test -r "Makefile"; then
@@ -937,6 +877,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	#
@@ -955,6 +893,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num debug || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 	#
 	if test -r "Makefile"; then
@@ -968,6 +904,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num debug || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	#
@@ -986,6 +920,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 	#
 	if test -r "Makefile"; then
@@ -999,6 +931,4 @@
 	let "num = num + 1" >/dev/null
 	run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
-	let "num = num + 1" >/dev/null
-	run_uno $? $num || let "numfail = numfail + 1"  >/dev/null
 
 	[ -z "${SMATCH}" ] || { CC="${SAVE_CC}"; export CC; }
