
Originally Posted by
lokesh_kumar_s
But i want to know what is the need of setting the hbuf variable to NULL after each deletion. can you please guide me.
Calling "delete" on already deleted object is undefined. But calling delete on NULL is fine. The following code snippet will give you KERN-EXEC 3.
Code:
heap=HBufC::NewL(14);
delete heap;
....
.....
delete heap; // without your knowledge if you try to call delete again on already deleted object. Causes KERN-EXEC 3
But the following code is fine:
Code:
heap=HBufC::NewL(14);
delete heap;
heap = NULL;
....
.....
delete heap; // Fine. No KERN-EXEC 3. Deleting NULL pointer is fine.
And the follwing code is fine too:
Code:
heap=HBufC::NewL(14);
delete heap;
....
.....
heap=HBufC::NewL(15); // Now "heap" points to some valid address
delete heap; // Fine. No KERN-EXEC 3