Yes, of course. This is the right place in my opinion too. Hendrik
-----Ursprüngliche Nachricht----- Von: Alexander Bluhm [mailto:[email protected]] Gesendet: Montag, 22. Mai 2017 15:55 An: Gerlach, Hendrik (DF FA AS DH FTH 6) Cc: [email protected] Betreff: Re: OpenBSD 6.1: mbuf leak after receiving icmp/ip-Messages with IP-Options On Mon, May 22, 2017 at 11:33:08AM +0000, Gerlach, Hendrik wrote: > A possible fix maybe would calling m_free(opts) (if opts != NULL) > after calling icmp_send() As the options are not allocated in icmp_send() I think it is better to free them in icmp_input_if() after a successful call to icmp_reflect(). ok? bluhm Index: netinet/ip_icmp.c =================================================================== RCS file: /data/mirror/openbsd/cvs/src/sys/netinet/ip_icmp.c,v retrieving revision 1.167 diff -u -p -r1.167 ip_icmp.c --- netinet/ip_icmp.c 4 May 2017 17:58:46 -0000 1.167 +++ netinet/ip_icmp.c 22 May 2017 13:25:37 -0000 @@ -591,8 +591,10 @@ reflect: icmpstat_inc(icps_reflect); icmpstat_inc(icps_outhist + icp->icmp_type); - if (!icmp_reflect(m, &opts, NULL)) + if (!icmp_reflect(m, &opts, NULL)) { icmp_send(m, opts); + m_free(opts); + } return IPPROTO_DONE; case ICMP_REDIRECT:
