Source: ispell
Version: 3.4.00-3
Severity: wishlist
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: randomness
X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org

Hi!

While working on the “reproducible builds” effort [1], we have noticed
that the “buildhash” binary of ispell prints uninitialized memory to a file

The attached patch initializes memory allocated in the parser so all
fields are initialized to a deterministic value (zero).

Once applied, packages using buildhash can be built reproducibly in our
current experimental framework.

 [1]: https://wiki.debian.org/ReproducibleBuilds

Regards,
Valentin
diff -r -u ispell-3.4.00.old/parse.y ispell-3.4.00/parse.y
--- ispell-3.4.00.old/parse.y	2015-08-15 14:29:14.233126031 +0000
+++ ispell-3.4.00/parse.y	2015-08-15 17:06:02.237484566 +0000
@@ -1204,7 +1204,7 @@
 			    int			i;
 
 			    ent = (struct flagent *)
-			      malloc (sizeof (struct flagent));
+			      calloc (1, sizeof (struct flagent));
 			    if (ent == NULL)
 				{
 				yyerror (PARSE_Y_NO_SPACE);

Reply via email to