Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
David Goulet
Tor
Commits
ddd0054a
Commit
ddd0054a
authored
May 20, 2007
by
Roger Dingledine
Browse files
point out two remote crash bugs, a memory leak, and a few other
items we should probably look into. svn:r10227
parent
0b661f65
Changes
6
Hide whitespace changes
Inline
Side-by-side
src/common/mempool.c
View file @
ddd0054a
...
...
@@ -388,6 +388,8 @@ mp_pool_clean(mp_pool_t *pool, int n)
n
=
pool
->
min_empty_chunks
+
(
-
n
);
if
(
n
<
pool
->
n_empty_chunks
)
pool
->
min_empty_chunks
=
n
;
/* XXX020 don't we want some sort of return here, given the
* assert that follows? -RD */
}
ASSERT
(
n
>=
0
);
...
...
src/or/config.c
View file @
ddd0054a
...
...
@@ -3119,6 +3119,8 @@ options_init_from_torrc(int argc, char **argv)
if
(
argc
>
1
&&
(
!
strcmp
(
argv
[
1
],
"--version"
)))
{
char
vbuf
[
128
];
// XXX020 below, tor_svn_revision will always be defined, right?
// So we can take out that check? Also in router.c. -RD
if
(
tor_svn_revision
!=
NULL
&&
strlen
(
tor_svn_revision
))
{
tor_snprintf
(
vbuf
,
sizeof
(
vbuf
),
" (r%s)"
,
tor_svn_revision
);
}
else
{
...
...
src/or/dns.c
View file @
ddd0054a
...
...
@@ -559,8 +559,10 @@ dns_resolve(edge_connection_t *exitconn)
}
//circuit_detach_stream(TO_CIRCUIT(oncirc), exitconn);
exitconn
->
on_circuit
=
NULL
;
if
(
!
exitconn
->
_base
.
marked_for_close
)
if
(
!
exitconn
->
_base
.
marked_for_close
)
{
connection_free
(
TO_CONN
(
exitconn
));
//XXX020 ... and we just leak exitconn otherwise? -RD
}
break
;
default:
tor_assert
(
0
);
...
...
src/or/main.c
View file @
ddd0054a
...
...
@@ -68,7 +68,7 @@ static time_t time_of_last_signewnym = 0;
static
int
signewnym_is_pending
=
0
;
/** Array of all open connections. The first n_conns elements are valid. */
/*XXXX020 Should we just use a smartlist here? */
/*XXXX020 Should we just use a smartlist here?
-NM Sure. -RD
*/
static
connection_t
*
connection_array
[
MAXCONNECTIONS
+
1
]
=
{
NULL
};
/** List of connections that have been marked for close and need to be freed
...
...
src/or/routerlist.c
View file @
ddd0054a
...
...
@@ -4857,6 +4857,8 @@ routerinfo_incompatible_with_extrainfo(routerinfo_t *ri, extrainfo_t *ei)
if
(
ei
->
bad_sig
)
return
1
;
/* XXX020 below we should explain why this is strcmp and not strcasecmp,
* since it differs from how we usually compare nicknames. -RD */
if
(
strcmp
(
ri
->
nickname
,
ei
->
nickname
)
||
memcmp
(
ri
->
cache_info
.
identity_digest
,
ei
->
cache_info
.
identity_digest
,
DIGEST_LEN
))
...
...
src/or/routerparse.c
View file @
ddd0054a
...
...
@@ -2142,7 +2142,8 @@ tokenize_string(const char *start, const char *end, smartlist_t *out,
for
(
i
=
0
;
table
[
i
].
t
;
++
i
)
{
if
(
counts
[
table
[
i
].
v
]
<
table
[
i
].
min_cnt
)
{
log_warn
(
LD_DIR
,
"Parse error: missing %s element."
,
table
[
i
].
t
);
tor_assert
(
0
);
tor_assert
(
0
);
/* XXX020 is this assert a remote crash waiting to
* happen? -RD */
return
-
1
;
}
if
(
counts
[
table
[
i
].
v
]
>
table
[
i
].
max_cnt
)
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment