void *malloc_e( size_t size, char *name )
{
char *str;
void *buf;

buf = (void*) malloc( size );
if ( buf == NULL ) {
str = strerror( errno );
fprintf( stderr, "malloc failed (%s): %s\n size: %d\n", name, str, size );
exit( EXIT_FAILURE );
}
return( buf );
}

のとこで
malloc failed (left): Not enough space
size: 7064

ってでたんだけど容量不足?