Gabriel Dos Reis <[EMAIL PROTECTED]> writes: > Andreas Jaeger <[EMAIL PROTECTED]> writes: > > | Gabriel Dos Reis <[EMAIL PROTECTED]> writes: > | > | > Hi again, > | > > | > I just hit this one from tree-ssa-into.c:rewrite_into_ssa()
Note update_ssa has the same problem.
> | >
> | > /* Initialize dominance frontier. */
> | > dfs = (bitmap *) xmalloc (last_basic_block * sizeof (bitmap *));
> | > ^^^^^^^^
> | >
> | > If the sizeof operand really supposed to be "bitmap*" and not "bitmap"?
> |
> | This indeed looks wrong - and could lead to real memory corruption
> | :-(. If this is wrong, he should be changed on the 4.0 branch as
> | well,
>
> And if it is wrong, it would be interesting to know wheter we already
> have PRs related to that memory corruption -- but I guess it would be
> hard to know :-)
Yeah.
> Parenthetically, I was wondering who is freeing those extensive
> regions of storage xmalloc/xcalloc()ed here and there?
I went through the file (btw. it's named tree-into-ssa.c) and it does
not look that bad. I could not find a place which is obviously
wrong. Looking at rewrite_into_ssa I see:
interesting_blocks = sbitmap_alloc (last_basic_block);
dfs = (bitmap *) xmalloc (last_basic_block * sizeof (bitmap *));
FOR_EACH_BB (bb)
dfs[bb->index] = BITMAP_ALLOC (NULL);
[...]
/* Free allocated memory. */
FOR_EACH_BB (bb)
BITMAP_FREE (dfs[bb->index]);
free (dfs);
sbitmap_free (interesting_blocks);
So, this does look fine,
Andreas
--
Andreas Jaeger, [EMAIL PROTECTED], http://www.suse.de/~aj
SUSE Linux Products GmbH, Maxfeldstr. 5, 90409 N�rnberg, Germany
GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
pgp8bWMWVmwy1.pgp
Description: PGP signature
