summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2008-04-17 20:23:13 +0000
committerNick Mathewson <nickm@torproject.org>2008-04-17 20:23:13 +0000
commit1b9c06ab96709464b4ba8d934625783f0454e11f (patch)
treea5523d2720e10b0fb134e9b05157811c090d26b7
parent864f4df905b2068b1bca75d3c7c9ce4c70093a69 (diff)
downloadtor-1b9c06ab96709464b4ba8d934625783f0454e11f.tar.gz
tor-1b9c06ab96709464b4ba8d934625783f0454e11f.zip
r15230@tombo: nickm | 2008-04-17 16:18:08 -0400
Do not allocate excess space for named_flag and unnamed_flag in dirvote.c. Fixes bug 662. Not a dangerous bug: sizeof(int*) is at least as big as sizeof(int) everywhere. svn:r14391
-rw-r--r--ChangeLog2
-rw-r--r--src/or/dirvote.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index bc1dcd79d9..6a7c8deaf3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -22,6 +22,8 @@ Changes in version 0.2.1.1-alpha - 2008-??-??
0.2.0.1-alpha. Spotted by lodger.
- Reduce the default smartlist size from 32 to 16; it turns out that
most smartlists hold around 8-12 elements tops.
+ - Avoid allocating extra space when computing consensuses on
+ 64-bit platforms. Bug spotted by aakova.
o Minor features:
- Allow separate log levels to be configured for different logging
diff --git a/src/or/dirvote.c b/src/or/dirvote.c
index fbbd82ee28..e4afacc61d 100644
--- a/src/or/dirvote.c
+++ b/src/or/dirvote.c
@@ -641,8 +641,8 @@ networkstatus_compute_consensus(smartlist_t *votes,
n_voter_flags = tor_malloc_zero(sizeof(int) * smartlist_len(votes));
n_flag_voters = tor_malloc_zero(sizeof(int) * smartlist_len(flags));
flag_map = tor_malloc_zero(sizeof(int*) * smartlist_len(votes));
- named_flag = tor_malloc_zero(sizeof(int*) * smartlist_len(votes));
- unnamed_flag = tor_malloc_zero(sizeof(int*) * smartlist_len(votes));
+ named_flag = tor_malloc_zero(sizeof(int) * smartlist_len(votes));
+ unnamed_flag = tor_malloc_zero(sizeof(int) * smartlist_len(votes));
for (i = 0; i < smartlist_len(votes); ++i)
unnamed_flag[i] = named_flag[i] = -1;
chosen_named_idx = smartlist_string_pos(flags, "Named");