diff options
| author | anlan_cs <anlan_cs@tom.com> | 2022-01-12 07:53:25 -0500 |
|---|---|---|
| committer | anlan_cs <anlan_cs@tom.com> | 2022-01-12 08:08:29 -0500 |
| commit | 10f02a2ac936737cb5841cec5e8c063514fd5c70 (patch) | |
| tree | bf74af97457a263dcfc64ea6f4a947fcb89432b5 /lib/bfd.c | |
| parent | 4d33086cadd1a1094eb29e7f261d0d3a2ac4ccfd (diff) | |
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 <anlan_cs@tom.com>
Diffstat (limited to 'lib/bfd.c')
| -rw-r--r-- | lib/bfd.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -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; } |
