[Adium-devl] Thursday! Thursday! Thursday!

Evan Schoenberg evan.s at dreskin.net
Fri Jan 19 00:01:58 UTC 2007


On Jan 18, 2007, at 1:26 PM, Elliott Harris wrote:

> In regards to "a23ded0" every time done_port_mapping_cb() is  
> called, a new UPnPMappingAddRemove pointer is created and  
> references whatever is passed into done_port_mapping_cb(). The  
> debugging statement currently logs the address of this pointer,  
> which will in fact change each time, and will indeed not show up  
> previous to it being created a couple of lines before the debugging  
> statement.
>
Yup.  I didn't mean to imply that a23ded0 would be expected in all  
cases to show up -- it's just the pointer to the UPnPMappingAddRemove  
in question.  The key fact here is that there is logging above every  
place that a UPnPMappingAddRemove can be free()'d -- so if it had  
been freed somewhere above that point, its address would have been  
logged, there as well, and then repeated in the log statement  
immediately before the crash. We didn't see this, so we can conclude  
that it wasn't prematurely freed.

The only way I can see that the ar->cb would be invalid without ar  
(the UPnPMappingAddRemove struct) having been free()'d is for ar  
itself to not actually be a UPnPMappingAddRemove but rather a pointer  
to some other sort of data.

-Evan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://adium.im/pipermail/devel_adium.im/attachments/20070118/afcb2bac/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
URL: <http://adium.im/pipermail/devel_adium.im/attachments/20070118/afcb2bac/attachment.sig>


More information about the devel mailing list