diff options
| author | David Lamparter <equinox@opensourcerouting.org> | 2022-03-25 06:55:37 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-25 06:55:37 +0100 |
| commit | 619a6623cb6de83f1266beda17842cd1814e5d39 (patch) | |
| tree | 1e768d4e8239e22cc0f47ffa2ba92ff6161d9838 /zebra/interface.c | |
| parent | d51683e6fe32ef70dc8e5119288be29c18f66d73 (diff) | |
| parent | d0438da6b09333d2b77a9eac2e9fffbbae6e603b (diff) | |
Merge pull request #10867 from donaldsharp/ifp_use_after_free
Diffstat (limited to 'zebra/interface.c')
| -rw-r--r-- | zebra/interface.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/zebra/interface.c b/zebra/interface.c index 69d611e583..a70326ebb3 100644 --- a/zebra/interface.c +++ b/zebra/interface.c @@ -806,9 +806,10 @@ static void if_delete_connected(struct interface *ifp) } /* Handle an interface delete event */ -void if_delete_update(struct interface *ifp) +void if_delete_update(struct interface **pifp) { struct zebra_if *zif; + struct interface *ifp = *pifp; if (if_is_up(ifp)) { flog_err( @@ -871,7 +872,7 @@ void if_delete_update(struct interface *ifp) if (IS_ZEBRA_DEBUG_KERNEL) zlog_debug("interface %s is being deleted from the system", ifp->name); - if_delete(&ifp); + if_delete(pifp); } } |
