SIGSEGV in new/malloc

Karthik J kartikj@geometricsoftware.com
Wed Sep 15 11:14:00 GMT 2004


Hi,

	I am using g++ version 2.95.2. The following code crashes
intermittently 

	typedef unsigned char	BYTE;
	int nNewSize = 1;

	void** m_pData = ( void ** ) new BYTE[ nNewSize * sizeof( BYTE *
) ];

Back trace on gdb does not give me the lib where it crashes



Then, I tried this,

		void** m_pData = ( void ** )malloc( nNewSize * sizeof(
void * ) );

	and even 

		void** m_pData = ( void ** )malloc( 4 );

But it always gives a SIGSEGV. bt from gdb in this case gives

#0 in _smalloc() from /usr/lib/libc.so.1
#1 in malloc() from /usr/lib/libc.so.1


What am I doing wrong? Have I run out of virtual memory for malloc to
crash?

TIA,

Kartik



More information about the Gcc-help mailing list