# New Ticket Created by Simon Glover
# Please include the string: [perl #18445]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=18445 >
Packfile_new assumes that the memory it gets from mem_sys_allocate is
zeroed, which is no longer the case. This causes Bad Things to happen
when I run parrot with --gc-debug (and, frankly, I think it's only
luck that's stopping Bad Things from happening the rest of the time
as well). The patch below fixes the problem by initializing to 0 (or
NULL) everything that's currently unitialized; an alternative fix
would be to change mem_sys_allocate to mem_sys_allocate_zeroed --
I can send a patch that fixes it that way if people would prefer.
Simon
--- packfile.c.old Sat Nov 16 16:11:43 2002
+++ packfile.c Sat Nov 16 17:16:33 2002
@@ -86,6 +86,11 @@ PackFile_new(void)
/* Other fields empty for now */
pf->byte_code = NULL;
pf->byte_code_size = 0;
+ pf->need_wordsize = 0;
+ pf->need_endianize = 0;
+ pf->fetch_op = NULL;
+ pf->fetch_iv = NULL;
+ pf->fetch_nv = NULL;
return pf;
}