Date: Tue, 20 Oct 2009 17:55:42 +0000 (UTC) From: Qing Li <qingli@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/netinet if_ether.c Message-ID: <200910201756.n9KHu1eb088495@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
qingli 2009-10-20 17:55:42 UTC
FreeBSD src repository
Modified files:
sys/netinet if_ether.c
Log:
SVN rev 198301 on 2009-10-20 17:55:42Z by qingli
In the ARP callout timer expiration function, the current time_second
is compared against the entry expiration time value (that was set based
on time_second) to check if the current time is larger than the set
expiration time. Due to the +/- timer granularity value, the comparison
returns false, causing the alternative code to be executed. The
alternative code path freed the memory without removing that entry
from the table list, causing a use-after-free bug.
Reviewed by: discussed with kmacy
MFC after: immediately
Verified by: rnoland, yongari
Revision Changes Path
1.214 +9 -9 src/sys/netinet/if_ether.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200910201756.n9KHu1eb088495>
