int* p;
*p; <--- bang!

You deref an uninitialised pointer and you get a crash. Did you use your debugger yet? You haven't mentioned anything, and it should be your first point of call**. You should be looking for horses before you blame zebras...

**
edit: oh yes, you said you can't expand it. Didn't that seem strange to you? I wonder why it's not working? Probably because it hasn't been initialised...