[Issue 9353] New: Memory corruption with mixin-generated code and -cov switch
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Jan 18 15:57:00 PST 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9353
Summary: Memory corruption with mixin-generated code and -cov
switch
Product: D
Version: D2
Platform: x86_64
OS/Version: Linux
Status: NEW
Severity: major
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: brian-schott at cox.net
--- Comment #0 from brian-schott at cox.net 2013-01-18 15:56:57 PST ---
Created an attachment (id=1180)
Ugly Dustmite-reduced test case
I'm getting the following error from dmd 2.061 (and the latest in git master):
*** glibc detected *** dmd.backup: free(): invalid next size (fast):
0x0000000007b98560 ***
The call to free() in question is here:
https://github.com/D-Programming-Language/dmd/blob/master/src/glue.c#L378
Moving the line "covb = (unsigned *)calloc((numlines + 32) / 32,
sizeof(*covb));" from 355 down to line 375 (just before the call to dtnbytes)
seems to work around this issue, but it really shouldn't if I'm reading the
code correctly.
I've attached a test case reduced by Dustmite. It's fairly ugly, and has the
strange property that changing almost anything about the strings being mixed in
causes the bug to not be triggered.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list