Ethereal-dev: [Ethereal-dev] Patches to correct memory leaks

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: "Maynard, Chris" <Christopher.Maynard@xxxxxxxxx>
Date: Mon, 27 Dec 2004 13:39:36 -0500

Attached are proposed patches to several dissectors that appear to have memory leaks due to not freeing memory allocated after calls to tvb_get_string(), tvb_get_stringz(), and tvb_fake_unicode().  Although I tried to be very cautious, it is possible that I incorrectly freed memory that wasn’t supposed to be.  One dissector in particular, packet-multipart.c, was a bit confusing to me.  And then there’s packet-wsp.c:  I kept getting lost in that one due to the many macros, etc., so perhaps the author or someone much more familiar with that source code than I could review that one to check for leaks.  It may in fact be just fine.

 

BTW: It was quite a tedious task to check for these leaks, and I fear that leaks like this will continue to creep in, even if we’ve somehow managed to find them all for the time being.  I wonder if there’s an automated way to check for leaks, such as this?  I use lint on many projects.  Has anyone used it or considered using it on the Ethereal source?  

 

Regards,

Chris

 


This email may contain confidential and privileged material for the sole use of the intended recipient(s). Any review, use, retention, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply email and delete all copies of this message. Also, email is susceptible to data corruption, interception, tampering, unauthorized amendment and viruses. We only send and receive emails on the basis that we are not liable for any such corruption, interception, tampering, amendment or viruses or any consequence thereof.

Attachment: tvbuff.c.patch
Description: tvbuff.c.patch

Attachment: packet-aim.c.patch
Description: packet-aim.c.patch

Attachment: packet-cops.c.patch
Description: packet-cops.c.patch

Attachment: packet-daap.c.patch
Description: packet-daap.c.patch

Attachment: packet-fix.c.patch
Description: packet-fix.c.patch

Attachment: packet-image-gif.c.patch
Description: packet-image-gif.c.patch

Attachment: packet-image-jfif.c.patch
Description: packet-image-jfif.c.patch

Attachment: packet-kerberos.c.patch
Description: packet-kerberos.c.patch

Attachment: packet-mgcp.c.patch
Description: packet-mgcp.c.patch

Attachment: packet-mmse.c.patch
Description: packet-mmse.c.patch

Attachment: packet-multipart.c.patch
Description: packet-multipart.c.patch

Attachment: packet-per.c.patch
Description: packet-per.c.patch

Attachment: packet-q931.c.patch
Description: packet-q931.c.patch

Attachment: packet-sdp.c.patch
Description: packet-sdp.c.patch

Attachment: packet-sebek.c.patch
Description: packet-sebek.c.patch

Attachment: packet-sip.c.patch
Description: packet-sip.c.patch

Attachment: packet-slsk.c.patch
Description: packet-slsk.c.patch

Attachment: packet-smpp.c.patch
Description: packet-smpp.c.patch

Attachment: packet-srvloc.c.patch
Description: packet-srvloc.c.patch

Attachment: req_resp_hdrs.c.patch
Description: req_resp_hdrs.c.patch