gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r23863 - gnunet/src/regex


From: gnunet
Subject: [GNUnet-SVN] r23863 - gnunet/src/regex
Date: Mon, 17 Sep 2012 16:32:05 +0200

Author: szengel
Date: 2012-09-17 16:32:05 +0200 (Mon, 17 Sep 2012)
New Revision: 23863

Modified:
   gnunet/src/regex/regex.c
   gnunet/src/regex/test_regex_eval_api.c
   gnunet/src/regex/test_regex_graph_api.c
Log:
coverity

Modified: gnunet/src/regex/regex.c
===================================================================
--- gnunet/src/regex/regex.c    2012-09-17 14:04:59 UTC (rev 23862)
+++ gnunet/src/regex/regex.c    2012-09-17 14:32:05 UTC (rev 23863)
@@ -513,11 +513,12 @@
 {
   unsigned int count;
   struct GNUNET_REGEX_State *s;
-  int marks[a->state_count];
 
   if (NULL == a || 0 == a->state_count)
     return;
 
+  int marks[a->state_count];
+
   for (count = 0, s = a->states_head; NULL != s && count < a->state_count;
        s = s->next, count++)
   {
@@ -1206,6 +1207,13 @@
 static void
 automaton_create_proofs (struct GNUNET_REGEX_Automaton *a)
 {
+  if (NULL == a)
+  {
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                "Could not create proofs, automaton was NULL\n");
+    return;
+  }
+
   unsigned int n = a->state_count;
   struct GNUNET_REGEX_State *states[n];
   char *R_last[n][n];
@@ -1217,13 +1225,6 @@
   unsigned int j;
   unsigned int k;
 
-  if (NULL == a)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
-                "Could not create proofs, automaton was NULL\n");
-    return;
-  }
-
   /* create depth-first numbering of the states, initializes 'state' */
   GNUNET_REGEX_automaton_traverse (a, a->start, NULL, NULL, &number_states,
                                    states);

Modified: gnunet/src/regex/test_regex_eval_api.c
===================================================================
--- gnunet/src/regex/test_regex_eval_api.c      2012-09-17 14:04:59 UTC (rev 
23862)
+++ gnunet/src/regex/test_regex_eval_api.c      2012-09-17 14:32:05 UTC (rev 
23863)
@@ -71,7 +71,7 @@
   regmatch_t matchptr[1];
   char error[200];
   int result;
-  char *canonical_regex;
+  char *canonical_regex = NULL;
 
   /* At least one string is needed for matching */
   GNUNET_assert (str_count > 0);
@@ -96,7 +96,8 @@
     if (NULL == dfa)
     {
       GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Constructing DFA failed\n");
-      return -1;
+      GNUNET_free (matching_str);
+      goto error;
     }
 
     eval = GNUNET_REGEX_eval (dfa, matching_str);
@@ -109,7 +110,7 @@
     {
       GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
                   "Could not compile regex using regcomp: %s\n", rand_rx);
-      return -1;
+      goto error;
     }
 
     eval_check = regexec (&rx, matching_str, 1, matchptr, 0);
@@ -127,7 +128,7 @@
     if (NULL == dfa)
     {
       GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Constructing DFA failed\n");
-      return -1;
+      goto error;
     }
 
     eval_canonical = GNUNET_REGEX_eval (dfa, matching_str);
@@ -138,7 +139,7 @@
       GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
                   "Could not compile regex using regcomp: %s\n",
                   canonical_regex);
-      return -1;
+      goto error;
     }
 
     eval_canonical_check = regexec (&rx, matching_str, 1, matchptr, 0);
@@ -169,6 +170,12 @@
   GNUNET_free (canonical_regex);
 
   return result;
+
+error:
+  GNUNET_free_non_null (matching_str);
+  GNUNET_free_non_null (rand_rx);
+  GNUNET_free_non_null (canonical_regex);
+  return -1;
 }
 
 /**

Modified: gnunet/src/regex/test_regex_graph_api.c
===================================================================
--- gnunet/src/regex/test_regex_graph_api.c     2012-09-17 14:04:59 UTC (rev 
23862)
+++ gnunet/src/regex/test_regex_graph_api.c     2012-09-17 14:32:05 UTC (rev 
23863)
@@ -48,7 +48,7 @@
   if (NULL == fp)
   {
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not find graph %s\n", 
filename);
-    error++;
+    return ++error;
   }
 
   fseek (fp, 0L, SEEK_END);
@@ -62,8 +62,15 @@
   error += fclose (fp);
 
   if (!KEEP_FILES)
-    unlink (filename);
+  {
+    if (0 != unlink (filename))
+    {
+      GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not remove temp files 
(%s)\n",
+                  filename);
+    }
+  }
 
+
   return error;
 }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]