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