https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113793
Bug ID: 113793 Summary: malloc abort on character allocate with source argument Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: manfred99 at gmx dot ch Target Milestone: --- Allocating an allocatable character array, I get a malloc error when the source argument is not properly padded: CHARACTER*30,allocatable :: a(:),b(:) ALLOCATE(a(100),source=" ") ALLOCATE(b(100),source=" ") END yields: malloc(): corrupted top size When doing a lame indirection: CHARACTER*30,allocatable :: a(:),b(:) CHARACTER*30 :: c=" " ALLOCATE(a(100),source=c) ALLOCATE(b(100),source=c) END everything is fine. I don't know whether this is mandated by the standard, but the error message is not very user friendly and hard to grasp. I would have expected that the source argument is automatically padded as with variable assignments and function call arguments.