mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 12:23:32 +01:00
Free leakable values in the unit tests.
Thanks, Coverity! (CID 1171414, 1171415, 1171416)
This commit is contained in:
parent
10d4d3e2d5
commit
c3720c05fa
@ -875,6 +875,7 @@ test_policies(void)
|
||||
{
|
||||
int i;
|
||||
char *policy = NULL;
|
||||
short_policy_t *parsed;
|
||||
smartlist_t *chunks = smartlist_new();
|
||||
smartlist_add(chunks, tor_strdup("accept "));
|
||||
for (i=1; i<10000; ++i)
|
||||
@ -883,8 +884,9 @@ test_policies(void)
|
||||
policy = smartlist_join_strings(chunks, "", 0, NULL);
|
||||
SMARTLIST_FOREACH(chunks, char *, ch, tor_free(ch));
|
||||
smartlist_free(chunks);
|
||||
tt_ptr_op(NULL, ==, parse_short_policy(policy));/* shouldn't be accepted */
|
||||
tor_free(policy); /* could leak. */
|
||||
parsed = parse_short_policy(policy);/* shouldn't be accepted */
|
||||
tor_free(policy);
|
||||
tt_ptr_op(NULL, ==, parsed);
|
||||
}
|
||||
|
||||
/* truncation ports */
|
||||
|
@ -247,6 +247,7 @@ test_config_write_to_data_subdir(void *arg)
|
||||
{
|
||||
or_options_t* options = get_options_mutable();
|
||||
char *datadir = options->DataDirectory = tor_strdup(get_fname("datadir-1"));
|
||||
char *cp = NULL;
|
||||
const char* subdir = "test_stats";
|
||||
const char* fname = "test_file";
|
||||
const char* str =
|
||||
@ -280,17 +281,23 @@ test_config_write_to_data_subdir(void *arg)
|
||||
// Content of file after write attempt should be
|
||||
// equal to the original string.
|
||||
test_assert(!write_to_data_subdir(subdir, fname, str, NULL));
|
||||
test_streq(read_file_to_str(filepath, 0, NULL), str);
|
||||
cp = read_file_to_str(filepath, 0, NULL);
|
||||
test_streq(cp, str);
|
||||
tor_free(cp);
|
||||
|
||||
// A second write operation should overwrite the old content.
|
||||
test_assert(!write_to_data_subdir(subdir, fname, str, NULL));
|
||||
test_streq(read_file_to_str(filepath, 0, NULL), str);
|
||||
cp = read_file_to_str(filepath, 0, NULL);
|
||||
test_streq(cp, str);
|
||||
tor_free(cp);
|
||||
|
||||
|
||||
done:
|
||||
(void) unlink(filepath);
|
||||
rmdir(options->DataDirectory);
|
||||
tor_free(datadir);
|
||||
tor_free(filepath);
|
||||
tor_free(cp);
|
||||
}
|
||||
|
||||
/* Test helper function: Make sure that a bridge line gets parsed
|
||||
|
@ -1230,7 +1230,8 @@ test_a_networkstatus(
|
||||
vote_routerstatus_t *vrs;
|
||||
routerstatus_t *rs;
|
||||
int idx, n_rs, n_vrs;
|
||||
char *v1_text=NULL, *v2_text=NULL, *v3_text=NULL, *consensus_text=NULL, *cp;
|
||||
char *v1_text=NULL, *v2_text=NULL, *v3_text=NULL, *consensus_text=NULL,
|
||||
*cp=NULL;
|
||||
smartlist_t *votes = smartlist_new();
|
||||
|
||||
/* For generating the two other consensuses. */
|
||||
@ -1648,6 +1649,7 @@ test_a_networkstatus(
|
||||
}
|
||||
|
||||
done:
|
||||
tor_free(cp);
|
||||
smartlist_free(votes);
|
||||
tor_free(v1_text);
|
||||
tor_free(v2_text);
|
||||
|
Loading…
Reference in New Issue
Block a user