about summary refs log tree commit diff
path: root/src/libexpr/attr-set.cc
diff options
context:
space:
mode:
authorTuomas Tynkkynen <tuomas@tuxera.com>2018-02-13T03·00+0200
committerTuomas Tynkkynen <tuomas@tuxera.com>2018-02-17T14·54+0200
commit0845cdf9443a6b304c1bcec304a462ae4995c744 (patch)
tree747d08ec3f99be8820e9be3ac6aed24518213259 /src/libexpr/attr-set.cc
parentb8bed7da14b26dcc328075522842dd16aa71b434 (diff)
libexpr: Rely on Boehm returning zeroed memory in EvalState::allocEnv()
Boehm guarantees that memory returned by GC_malloc() is zeroed, so take
advantage of that.
Diffstat (limited to 'src/libexpr/attr-set.cc')
-rw-r--r--src/libexpr/attr-set.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libexpr/attr-set.cc b/src/libexpr/attr-set.cc
index 910428c02686..b284daa3c2f7 100644
--- a/src/libexpr/attr-set.cc
+++ b/src/libexpr/attr-set.cc
@@ -7,13 +7,14 @@
 namespace nix {
 
 
+/* Note: Various places expect the allocated memory to be zeroed. */
 static void * allocBytes(size_t n)
 {
     void * p;
 #if HAVE_BOEHMGC
     p = GC_malloc(n);
 #else
-    p = malloc(n);
+    p = calloc(n, 1);
 #endif
     if (!p) throw std::bad_alloc();
     return p;