Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!nntp.coast.net!news.kei.com!news.mathworks.com!news.sgi.com!fido.asd.sgi.com!seal.engr.sgi.com!bitbug From: bitbug@seal.engr.sgi.com (James Buster) Newsgroups: comp.bugs.4bsd Subject: Re: un-freed mbuf in ip_output Date: 4 Oct 1996 01:23:55 GMT Organization: Surf Software Lines: 23 Message-ID: <531ovb$dnb@fido.asd.sgi.com> References: <52srh5$hip@monaco.csl.rdc.toshiba.co.jp> <Dyq3DE.59@world.std.com> NNTP-Posting-Host: seal.engr.sgi.com In article <Dyq3DE.59@world.std.com>, Kurt Hackenberg <kh@world.std.com> wrote: >jinmei@isl.rdc.toshiba.co.jp (JINMEI Tatuya) writes: > >>If we encounter some error in the ip_output function in ip_output.c of >>Net/3, we go to bad: label at the end of the functin and free the >>outgoing packet: > >>bad: >> m_freem(m0); >> goto done; > >>But sometimes m0 is not the entire outgoing packet. > > >I believe m_freem() frees the whole mbuf list -- that is, the whole >packet -- not just the first mbuf. Go read m_freem(). m_freem() does in fact free the whole mbuf chain. This doesn't help you, as extra mbuf in question is *prepended*, not appended, to the mbuf chain. -- Planet Bog -- pools of toxic chemicals bubble under a choking atomsphere of poisonous gases... but aside from that, it's not much like Earth. -- Calvin