mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-30 15:43:32 +01:00
bugfix on r11298:
Fix a minor memory leak whenever we parse guards from our state file. Bugfix on 0.2.0.7-alpha. svn:r11862
This commit is contained in:
parent
487f985f5b
commit
900ddcb8fd
@ -91,6 +91,8 @@ Changes in version 0.2.0.8-alpha - 2007-10-12
|
||||
o Minor bugfixes (of some sort):
|
||||
- Stop calling tor_strlower() on uninitialized memory in some cases.
|
||||
Bugfix in 0.2.0.7-alpha.
|
||||
- Fix a minor memory leak whenever we parse guards from our state
|
||||
file. Bugfix on 0.2.0.7-alpha.
|
||||
|
||||
o Code simplifications and refactoring:
|
||||
- Make a bunch of functions static. Remove some dead code.
|
||||
|
@ -1530,8 +1530,8 @@ struct open_file_t {
|
||||
/** Try to start writing to the file in <b>fname</b>, passing the flags
|
||||
* <b>open_flags</b> to the open() syscall, creating the file (if needed) with
|
||||
* access value <b>mode</b>. If the O_APPEND flag is set, we append to the
|
||||
* original file. Otherwise, we open a new a temporary file in the same
|
||||
* directory, and either replace the original or remove the temprorary file
|
||||
* original file. Otherwise, we open a new temporary file in the same
|
||||
* directory, and either replace the original or remove the temporary file
|
||||
* when we're done.
|
||||
*
|
||||
* Return the fd for the newly opened file, and store working data in
|
||||
|
@ -2404,7 +2404,7 @@ entry_guards_prepend_from_config(void)
|
||||
/* Finally, the remaining EntryNodes, unless we're strict */
|
||||
if (options->StrictEntryNodes) {
|
||||
SMARTLIST_FOREACH(old_entry_guards_not_on_list, entry_guard_t *, e,
|
||||
tor_free(e));
|
||||
entry_guard_free(e));
|
||||
} else {
|
||||
smartlist_add_all(entry_guards, old_entry_guards_not_on_list);
|
||||
}
|
||||
@ -2641,11 +2641,13 @@ entry_guards_parse_state(or_state_t *state, int set, char **msg)
|
||||
});
|
||||
|
||||
if (*msg || !set) {
|
||||
SMARTLIST_FOREACH(new_entry_guards, entry_guard_t *, e, tor_free(e));
|
||||
SMARTLIST_FOREACH(new_entry_guards, entry_guard_t *, e,
|
||||
entry_guard_free(e));
|
||||
smartlist_free(new_entry_guards);
|
||||
} else { /* !*err && set */
|
||||
if (entry_guards) {
|
||||
SMARTLIST_FOREACH(entry_guards, entry_guard_t *, e, tor_free(e));
|
||||
SMARTLIST_FOREACH(entry_guards, entry_guard_t *, e,
|
||||
entry_guard_free(e));
|
||||
smartlist_free(entry_guards);
|
||||
}
|
||||
entry_guards = new_entry_guards;
|
||||
|
Loading…
Reference in New Issue
Block a user