diff options
author | Maximilian Szengel <gnunet@maxsz.de> | 2012-09-17 14:32:05 +0000 |
---|---|---|
committer | Maximilian Szengel <gnunet@maxsz.de> | 2012-09-17 14:32:05 +0000 |
commit | 0023bacc0565ad444e8facefd1db9b622a8e07d4 (patch) | |
tree | 7ea369f429480af3b4e929839b5b487aa04064de /src/regex/test_regex_eval_api.c | |
parent | 290598582085e0b442caac7a94dcc6e940118e84 (diff) |
coverity
Diffstat (limited to 'src/regex/test_regex_eval_api.c')
-rw-r--r-- | src/regex/test_regex_eval_api.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/regex/test_regex_eval_api.c b/src/regex/test_regex_eval_api.c index 7538a25d8a..35eef6d29e 100644 --- a/src/regex/test_regex_eval_api.c +++ b/src/regex/test_regex_eval_api.c @@ -71,7 +71,7 @@ test_random (unsigned int rx_length, unsigned int max_str_len, 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 @@ test_random (unsigned int rx_length, unsigned int max_str_len, 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 @@ test_random (unsigned int rx_length, unsigned int max_str_len, { 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 @@ test_random (unsigned int rx_length, unsigned int max_str_len, 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 @@ test_random (unsigned int rx_length, unsigned int max_str_len, 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 @@ test_random (unsigned int rx_length, unsigned int max_str_len, 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; } /** |