bdiff: handle the possibility of overflow when computing allocation size
authorAlex Gaynor <agaynor@mozilla.com>
Thu, 18 Jan 2018 14:43:04 +0000
changeset 35723 50868145a8de
parent 35722 f18ba40d792f
child 35724 853bf7d90804
bdiff: handle the possibility of overflow when computing allocation size Differential Revision: https://phab.mercurial-scm.org/D1904
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;
 	}