From 39163543a192e4f3406449a95f0d50f7c96f5d20 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Wed, 9 Oct 2024 07:16:37 -0400 Subject: [PATCH] zebra: Fix crash in pw code Recent PR #17009 introduced a crash in pw handing for deletion. Let's fix that problem. Fixes: #17041 Signed-off-by: Donald Sharp --- zebra/zebra_pw.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/zebra/zebra_pw.c b/zebra/zebra_pw.c index c8ffaf0bbe36..6adc0b1b4aa5 100644 --- a/zebra/zebra_pw.c +++ b/zebra/zebra_pw.c @@ -205,9 +205,11 @@ void zebra_pw_handle_dplane_results(struct zebra_dplane_ctx *ctx) vrf = zebra_vrf_lookup_by_id(dplane_ctx_get_vrf(ctx)); pw = zebra_pw_find(vrf, dplane_ctx_get_ifname(ctx)); + if (!pw) + return; + if (dplane_ctx_get_status(ctx) != ZEBRA_DPLANE_REQUEST_SUCCESS) { - if (pw) - zebra_pw_install_failure(pw, dplane_ctx_get_pw_status(ctx)); + zebra_pw_install_failure(pw, dplane_ctx_get_pw_status(ctx)); } else { if (op == DPLANE_OP_PW_INSTALL && pw->status != PW_FORWARDING) zebra_pw_update_status(pw, PW_FORWARDING);