Fix a small memory leak whenever we decide against using a

newly picked entry guard. Reported by Mike Perry.


svn:r12506
This commit is contained in:
Roger Dingledine 2007-11-15 11:14:08 +00:00
parent 6c6d27186a
commit 06a1e4124f
2 changed files with 6 additions and 3 deletions

View File

@ -6,12 +6,15 @@ Changes in version 0.2.0.12-alpha - 2007-11-??
o Minor bugfixes:
- When we're lacking a consensus, don't try to perform rendezvous
operations. (Bug spotted by Karsten)
- Fix a small memory leak whenever we decide against using a
newly picked entry guard. Reported by Mike Perry.
o Minor features:
- When we negotiate a v2 OR connection (not yet implemented), accept
RELAY_EARLY cells and turn them into RELAY cells if we've negotiated
a v1 connection. Initial code for proposal 110.
Changes in version 0.2.0.11-alpha - 2007-11-12
o Security fixes:
- Exit policies now reject connections that are addressed to a

View File

@ -2281,7 +2281,7 @@ entry_guard_register_connect_status(const char *digest, int succeeded,
"Removing from the list. %d/%d entry guards usable/new.",
entry->nickname, buf,
num_live_entry_guards()-1, smartlist_len(entry_guards)-1);
tor_free(entry);
entry_guard_free(entry);
smartlist_del_keeporder(entry_guards, idx);
log_entry_guards(LOG_INFO);
changed = 1;
@ -2291,6 +2291,7 @@ entry_guard_register_connect_status(const char *digest, int succeeded,
entry->unreachable_since = entry->last_attempted = now;
control_event_guard(entry->nickname, entry->identity, "DOWN");
changed = 1;
entry->can_retry = 0; /* We gave it an early chance; no good. */
} else {
char tbuf[ISO_TIME_LEN+1];
format_iso_time(tbuf, entry->unreachable_since);
@ -2298,9 +2299,8 @@ entry_guard_register_connect_status(const char *digest, int succeeded,
"'%s' (%s). It has been unreachable since %s.",
entry->nickname, buf, tbuf);
entry->last_attempted = now;
}
if (entry)
entry->can_retry = 0; /* We gave it an early chance; no good. */
}
}
if (first_contact) {