[tor-bugs] #29823 [Core Tor/Tor]: CID 1444117, CID 1444118 resource leaks in test_shared_random.c
Tor Bug Tracker & Wiki
blackhole at torproject.org
Tue Mar 19 19:52:25 UTC 2019
#29823: CID 1444117, CID 1444118 resource leaks in test_shared_random.c
------------------------------+--------------------------------------
Reporter: catalyst | Owner: (none)
Type: defect | Status: new
Priority: Medium | Milestone: Tor: unspecified
Component: Core Tor/Tor | Version:
Severity: Normal | Keywords: coverity, tor-tests-unit
Actual Points: | Parent ID:
Points: | Reviewer:
Sponsor: |
------------------------------+--------------------------------------
{{{
** CID 1444117: (RESOURCE_LEAK)
/src/test/test_shared_random.c: 1098 in test_utils_general()
/src/test/test_shared_random.c: 1099 in test_utils_general()
________________________________________________________________________________________________________
*** CID 1444117: (RESOURCE_LEAK)
/src/test/test_shared_random.c: 1098 in test_utils_general()
1092
"1BDB7C3E973936E4D13A49F37C859B3DC69C429334CF9412E3FEF6399C52D47A";
1093 srv = tor_malloc_zero(sizeof(*srv));
1094 srv->num_reveals = 42;
1095 memcpy(srv->value, srv_value, sizeof(srv->value));
1096 dup_srv = sr_srv_dup(srv);
1097 tt_assert(dup_srv);
>>> CID 1444117: (RESOURCE_LEAK)
>>> Variable "dup_srv" going out of scope leaks the storage it points
to.
1098 tt_u64_op(dup_srv->num_reveals, OP_EQ, srv->num_reveals);
1099 tt_mem_op(dup_srv->value, OP_EQ, srv->value,
sizeof(srv->value));
1100 tor_free(srv);
1101 tor_free(dup_srv);
1102 }
1103
/src/test/test_shared_random.c: 1099 in test_utils_general()
1093 srv = tor_malloc_zero(sizeof(*srv));
1094 srv->num_reveals = 42;
1095 memcpy(srv->value, srv_value, sizeof(srv->value));
1096 dup_srv = sr_srv_dup(srv);
1097 tt_assert(dup_srv);
1098 tt_u64_op(dup_srv->num_reveals, OP_EQ, srv->num_reveals);
>>> CID 1444117: (RESOURCE_LEAK)
>>> Variable "dup_srv" going out of scope leaks the storage it points
to.
1099 tt_mem_op(dup_srv->value, OP_EQ, srv->value,
sizeof(srv->value));
1100 tor_free(srv);
1101 tor_free(dup_srv);
1102 }
1103
1104 /* Testing commitments_are_the_same(). Currently, the check is
to test the
}}}
{{{
** CID 1444118: (RESOURCE_LEAK)
/src/test/test_shared_random.c: 1098 in test_utils_general()
/src/test/test_shared_random.c: 1099 in test_utils_general()
________________________________________________________________________________________________________
*** CID 1444118: (RESOURCE_LEAK)
/src/test/test_shared_random.c: 1098 in test_utils_general()
1092
"1BDB7C3E973936E4D13A49F37C859B3DC69C429334CF9412E3FEF6399C52D47A";
1093 srv = tor_malloc_zero(sizeof(*srv));
1094 srv->num_reveals = 42;
1095 memcpy(srv->value, srv_value, sizeof(srv->value));
1096 dup_srv = sr_srv_dup(srv);
1097 tt_assert(dup_srv);
>>> CID 1444118: (RESOURCE_LEAK)
>>> Variable "srv" going out of scope leaks the storage it points to.
1098 tt_u64_op(dup_srv->num_reveals, OP_EQ, srv->num_reveals);
1099 tt_mem_op(dup_srv->value, OP_EQ, srv->value,
sizeof(srv->value));
1100 tor_free(srv);
1101 tor_free(dup_srv);
1102 }
1103
/src/test/test_shared_random.c: 1099 in test_utils_general()
1093 srv = tor_malloc_zero(sizeof(*srv));
1094 srv->num_reveals = 42;
1095 memcpy(srv->value, srv_value, sizeof(srv->value));
1096 dup_srv = sr_srv_dup(srv);
1097 tt_assert(dup_srv);
1098 tt_u64_op(dup_srv->num_reveals, OP_EQ, srv->num_reveals);
>>> CID 1444118: (RESOURCE_LEAK)
>>> Variable "srv" going out of scope leaks the storage it points to.
1099 tt_mem_op(dup_srv->value, OP_EQ, srv->value,
sizeof(srv->value));
1100 tor_free(srv);
1101 tor_free(dup_srv);
1102 }
1103
1104 /* Testing commitments_are_the_same(). Currently, the check is
to test the
}}}
These look to be only leaks in assertion-failure cases. Maybe make the
pointers in question function-scope, or break stuff out into helper
functions so the `done` label can properly clean up?
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/29823>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list