Page MenuHomeFreeBSD

route: fix rtentry double free
ClosedPublic

Authored by kp on Jun 3 2025, 12:49 PM.
Tags
None
Referenced Files
F147486012: D50665.id156573.diff
Wed, Mar 11, 9:05 AM
F147484088: D50665.id156478.diff
Wed, Mar 11, 8:44 AM
F147468366: D50665.id156573.diff
Wed, Mar 11, 6:18 AM
F147461377: D50665.id156478.diff
Wed, Mar 11, 5:10 AM
Unknown Object (File)
Mon, Mar 9, 7:08 PM
Unknown Object (File)
Sat, Mar 7, 11:35 AM
Unknown Object (File)
Wed, Mar 4, 6:04 PM
Unknown Object (File)
Wed, Mar 4, 1:48 PM

Details

Summary

add_route_flags() frees the rtentry on error when called with the RTM_F_CREATE
flag. Don't free the rtentry a second time.

Sponsored by: Rubicon Communications, LLC ("Netgate")

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

kp requested review of this revision.Jun 3 2025, 12:49 PM
sys/net/route/route_ctl.c
676

Then isn't this access to freed rt_new?

sys/net/route/route_ctl.c
676

Good catch, I missed that one.
I think we can get away with using 'rt' here instead of 'rt_new', because rt_new should be a copy of rt.

Remove one more use of rt_new

This revision is now accepted and ready to land.Jun 5 2025, 7:36 AM
This revision was automatically updated to reflect the committed changes.