pointer confusion :(

M

mandatory

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.
 
V

Victor Bazarov

mandatory said:
[..]
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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top