
On Monday, December 06, 2010 03:59:44 Luigi Mantellini wrote:
On Mon, Dec 6, 2010 at 8:15 AM, Mike Frysinger wrote:
On Sunday, December 05, 2010 04:18:44 Luigi 'Comio' Mantellini wrote:
On structure Initialization, LZMA code tries to free the dictionary and probs buffers, also when these are null pointers. Add some check in order to prevent the free on null pointers.
your patch only checks p->probs, not any dictionary buffer. if you follow the code path:
... void LzmaDec_FreeProbs(CLzmaDec *p, ISzAlloc *alloc) { alloc->Free(alloc, p->probs); p->probs = 0; } ... g_Alloc.Free = SzFree; ... static void SzFree(void *p, void *address) { p = p; free(address); } ...
this only ends up doing free(p->probs) which is free(NULL) which isnt a bug.
In general I prefer avoid to free a null pointer, and I consider a free on a not-malloc-eted pointer a bug.
sorry, but this is not an acceptable reason. so unless you have an actual error report here, your patch gets NAK-ed. -mike