diff options
| author | Quentin Young <qlyoung@cumulusnetworks.com> | 2020-03-02 18:42:56 -0500 |
|---|---|---|
| committer | Quentin Young <qlyoung@cumulusnetworks.com> | 2020-04-13 13:25:25 -0400 |
| commit | 7239d3d9e6c131c859dae627c1238b5838a5ab8e (patch) | |
| tree | e1c14fd330b2e8ad079ae9904d7166864cb766a2 /lib/zclient.c | |
| parent | efc7191bbef83ff619dcafcd6c91d19dd214ee72 (diff) | |
lib: handle bogus VRF backend type
And use an enum...
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Diffstat (limited to 'lib/zclient.c')
| -rw-r--r-- | lib/zclient.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/zclient.c b/lib/zclient.c index b32be1c310..673e71c515 100644 --- a/lib/zclient.c +++ b/lib/zclient.c @@ -3031,7 +3031,14 @@ static void zclient_capability_decode(ZAPI_CALLBACK_ARGS) uint8_t mpls_enabled; STREAM_GETL(s, vrf_backend); - vrf_configure_backend(vrf_backend); + + if (vrf_backend < 0 || vrf_configure_backend(vrf_backend)) { + flog_err(EC_LIB_ZAPI_ENCODE, + "%s: Garbage VRF backend type: %d\n", __func__, + vrf_backend); + goto stream_failure; + } + memset(&cap, 0, sizeof(cap)); STREAM_GETC(s, mpls_enabled); |
