aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2004-01-21 14:49:32 +0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2004-01-21 14:49:32 +0000
commit1109ea068097d4c5e3a4dfdeececf4590c52329a (patch)
tree58f8e98b4a69dc97b206790c29c56ef59f9fcb24
parent47f19b6293357a8bdc3a2290813765170f241b58 (diff)
* Fixed a subtle uninitialised variable bug in ATermMaps copied from
ATermMaps. Found thanks to Valgrind!
-rw-r--r--src/libexpr/nixexpr.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libexpr/nixexpr.cc b/src/libexpr/nixexpr.cc
index dd0f5d58a..7de3e823c 100644
--- a/src/libexpr/nixexpr.cc
+++ b/src/libexpr/nixexpr.cc
@@ -4,6 +4,7 @@
ATermMap::ATermMap(unsigned int initialSize, unsigned int maxLoadPct)
{
+ this->maxLoadPct = maxLoadPct;
table = ATtableCreate(initialSize, maxLoadPct);
if (!table) throw Error("cannot create ATerm table");
}
@@ -15,7 +16,8 @@ ATermMap::ATermMap(const ATermMap & map)
ATermList keys = map.keys();
/* !!! adjust allocation for load pct */
- table = ATtableCreate(ATgetLength(keys), map.maxLoadPct);
+ maxLoadPct = map.maxLoadPct;
+ table = ATtableCreate(ATgetLength(keys), maxLoadPct);
if (!table) throw Error("cannot create ATerm table");
for (ATermIterator i(keys); i; ++i)