By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,305 Members | 1,721 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,305 IT Pros & Developers. It's quick & easy.

pointer confusion :(

P: n/a
hi,

im getting confused.

I have a memory leak in a routine and found that problem.

I have a routine:

void* PopQueue ()
{
void *item;

//...pop the item

return item;
}

The item was created with HeapAlloc() in the Push() routine.

In another segment of my program i have this:

void thereisdata()
{
MyqueueStruct *myitem;
myItem = (myitem *) PopQueue();
// process the data inside (this is working fine)
HeapFree (GetProcessHeap(),0, myItem); // ERRROR !
}

This raises an exception, and i can see that the memory isnt freed.

What im wondering now is what im doing wrong ? cant i free a pointer that
points to a memory location like the way i do it in PopQueue() ?

Hope you can help me - its starting to annoy me.

using WinXP.
Jul 23 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
"mandatory" <ok*****@nptklooohs.ru> wrote...
[..]
I have a memory leak in a routine and found that problem.

The item was created with HeapAlloc() in the Push() routine.

In another segment of my program i have this:

HeapFree (GetProcessHeap(),0, myItem); // ERRROR !

This raises an exception, and i can see that the memory isnt freed.

What im wondering now is what im doing wrong ? cant i free a pointer that
points to a memory location like the way i do it in PopQueue() ?

Hope you can help me - its starting to annoy me.


No, we can't. With the little code you provided it's only clear that
you're using some non-standard functions to allocate and free your
memory. You need to post your question where these functions are on
topic. I recommend comp.os.ms-windows.programmer.win32.
Jul 23 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.