Hi, I am trying to debug a memory leak in executing gzipped binaries when the 
parameter list is too long. The function in question is inflate_dynamic(). 

        /* decompress until an end-of-block code */
        if (inflate_codes(glbl, tl, td, bl, bd))
                return 1;

        /* free the decoding tables, return */
        huft_free(glbl, tl);
        huft_free(glbl, td);
        return 0;


Should this be re-written as:

                i = inflate_codes(glbl, tl, td, bl, bd) ? 1 : 0;
        
                /* free the decoding tables, return */
                huft_free(glbl, tl);
                huft_free(glbl, td);

        return (i);

so that the Huffman tables are always freed.

Comments appreciated.

br
vijay
        

_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to