down to one test failure
[email protected] (Richard Clamp) Tue, 13 Aug 2002 20:46:31 +0100
| Newsgroups | perl.perl1.porters |
|---|---|
| Message-ID | <[email protected]> |
--wRRV7LY7NUeQGEoC Content-Type: text/plain; charset=us-ascii Content-Disposition: inline The attached patch prevents the double-free that t/op.each was provoking. This leaves me with one failing test on my local boxes - t/comp.decl, which currently exits after 5 tests, and throws a big wobbly under valgrind[0]. I hope to trap this one later this evening. Are there any more obvious failures that I'm not seeing on my dev architectures? [0] http://unixbeard.net/~richardc/lab/grinder/system-malloc/comp.decl.txt -- Richard Clamp <[email protected]> --wRRV7LY7NUeQGEoC Content-Type: message/rfc822 Content-Disposition: inline Return-Path: <[email protected]> Delivered-To: [email protected] Received: from mirth.unixbeard.net (mirth [127.0.0.1]) by mirth (Postfix) with ESMTP id A9523438C for <commit>; Tue, 13 Aug 2002 20:29:13 +0100 (BST) From: [email protected] To: [email protected] Subject: perl1 arg.c,1.9,1.10 Message-Id: <20020813192913.A9523438C@mirth> Date: Tue, 13 Aug 2002 20:29:13 +0100 (BST) Update of /home/richardc/cvs-repository/perl1 In directory mirth.unixbeard.net:/tmp/cvs-serv7762 Modified Files: arg.c Log Message: malloc new arrays else we hit a double free in the freeargs: block of arg.c/eval fixes t/op.each Index: arg.c =================================================================== RCS file: /home/richardc/cvs-repository/perl1/arg.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- arg.c 5 Aug 2002 05:14:28 -0000 1.9 +++ arg.c 13 Aug 2002 19:29:10 -0000 1.10 @@ -1,8 +1,9 @@ /* $Header$ * * $Log$ - * Revision 1.9 2002/08/05 05:14:28 richardc - * the symbol is HAS_CRYPT, not CRYPT + * Revision 1.10 2002/08/13 19:29:10 richardc + * malloc new arrays else we hit a double free in the freeargs: block of arg.c/eval + * fixes t/op.each * * Revision 1.0.1.7 88/02/02 11:22:19 root * patch13: fixed split(' ') to work right second time. Added CRYPT dependency. @@ -1060,7 +1061,7 @@ apush(ary,str_make(str_get(hiterval(entry)))); } if (retary) { /* array wanted */ - sarg = (STR**)saferealloc((char*)sarg,(max+2)*sizeof(STR*)); + sarg = (STR**)safemalloc((max+2)*sizeof(STR*)); sarg[0] = Nullstr; sarg[max+1] = Nullstr; for (i = 1; i <= max; i++) @@ -1087,7 +1088,7 @@ if (retary) { /* array wanted */ if (entry) { - sarg = (STR**)saferealloc((char*)sarg,4*sizeof(STR*)); + sarg = (STR**)safemalloc(4*sizeof(STR*)); sarg[0] = Nullstr; sarg[3] = Nullstr; sarg[1] = mystr = str_make(hiterkey(entry)); @@ -1095,7 +1096,7 @@ *retary = sarg; } else { - sarg = (STR**)saferealloc((char*)sarg,2*sizeof(STR*)); + sarg = (STR**)safemalloc(2*sizeof(STR*)); sarg[0] = Nullstr; sarg[1] = retstr = Nullstr; *retary = sarg; --wRRV7LY7NUeQGEoC--