On Wed, Nov 21, 2012 at 7:49 AM, Shani Hadiyanto Pribadi <shanipribadi@gmx.net> wrote:
That's it. Apparently the cause of segfault is dereferencing the pointer when there's no data.
After adding checks for available data the segfault does not happen anymore.

It never occured to me that was the cause because on the C version, accessing the pointer when there's no data
returns 0x6a but didn't segfault.

accessing an undefined pointer has undefined results. you can rely on that. in C, in C++ and in any other language with pointers.