From 0fd00334c676e680818453eee50a7998889e6ca9 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Thu, 16 Jul 1998 15:06:13 +0000 Subject: Avoid using calloc(). This triggered an obscure bug on multiprocessor Sparc Solaris 2.6 (fully patched!) that I don't want to dig into, but which I suspect is a bug in the multithreaded malloc library that only shows up when run on a multiprocessor. (The program wasn't using threads, it was just using the multithreaded C library.) --- Objects/dictobject.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Objects/dictobject.c b/Objects/dictobject.c index 7fed379..7b62258 100644 --- a/Objects/dictobject.c +++ b/Objects/dictobject.c @@ -283,11 +283,12 @@ dictresize(mp, minused) break; } } - newtable = (dictentry *) calloc(sizeof(dictentry), newsize); + newtable = (dictentry *) malloc(sizeof(dictentry) * newsize); if (newtable == NULL) { PyErr_NoMemory(); return -1; } + memset(newtable, '\0', sizeof(dictentry) * newsize); mp->ma_size = newsize; mp->ma_poly = newpoly; mp->ma_table = newtable; -- cgit v0.12