diff options
| author | Donald Sharp <sharpd@nvidia.com> | 2024-10-09 07:16:37 -0400 |
|---|---|---|
| committer | Donald Sharp <sharpd@nvidia.com> | 2024-10-09 07:17:29 -0400 |
| commit | 154a89bc31ab676bf8d037a37a98587ca0236ba9 (patch) | |
| tree | 20f447afdfbf1e8314fd18675f82ed43cb5c46c5 /zebra/zebra_pw.c | |
| parent | 47cdfbda7640f9e10dc298cb98ea0411dc14e0ab (diff) | |
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 <sharpd@nvidia.com>
Diffstat (limited to 'zebra/zebra_pw.c')
| -rw-r--r-- | zebra/zebra_pw.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/zebra/zebra_pw.c b/zebra/zebra_pw.c index c8ffaf0bbe..6adc0b1b4a 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); |
