# HG changeset patch # User Alex Gaynor # Date 1516286584 0 # Node ID 50868145a8de0544abc096bba963e2bff25bb03c # Parent f18ba40d792f51c65c262d471eef7ddef252c3f4 bdiff: handle the possibility of overflow when computing allocation size Differential Revision: https://phab.mercurial-scm.org/D1904 diff -r f18ba40d792f -r 50868145a8de mercurial/bdiff.c --- a/mercurial/bdiff.c Tue Jan 02 10:09:08 2018 -0700 +++ b/mercurial/bdiff.c Thu Jan 18 14:43:04 2018 +0000 @@ -95,7 +95,7 @@ /* try to allocate a large hash table to avoid collisions */ for (scale = 4; scale; scale /= 2) { - h = (struct pos *)malloc(scale * buckets * sizeof(struct pos)); + h = (struct pos *)calloc(buckets, scale * sizeof(struct pos)); if (h) break; }