From 10f02a2ac936737cb5841cec5e8c063514fd5c70 Mon Sep 17 00:00:00 2001 From: anlan_cs Date: Wed, 12 Jan 2022 07:53:25 -0500 Subject: [PATCH] lib: fix the right value is returned for fail cases Currently `bfd_get_peer_info` should return invalid sp->family and dp->family during fail cases. Before this fix, in those fail cases `bfd_get_peer_info` maybe return valid sp->family and dp->family. This fix ensures all fail cases return invalid sp->family and dp->family for outside callers. Signed-off-by: anlan_cs --- lib/bfd.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/bfd.c b/lib/bfd.c index e364297457..7b711a9fba 100644 --- a/lib/bfd.c +++ b/lib/bfd.c @@ -171,6 +171,12 @@ static struct interface *bfd_get_peer_info(struct stream *s, struct prefix *dp, return ifp; stream_failure: + /* + * Clean dp and sp because caller + * will immediately check them valid or not + */ + memset(dp, 0, sizeof(*dp)); + memset(sp, 0, sizeof(*sp)); return NULL; } -- 2.39.5