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