mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-14 14:17:20 +00:00
zebra: use safe stream decodes for evpn zapi msg
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
This commit is contained in:
parent
f3aa221ffd
commit
693fc882d7
@ -2484,8 +2484,8 @@ void zebra_evpn_proc_remote_es(ZAPI_HANDLER_ARGS)
|
|||||||
memset(&esi, 0, sizeof(esi_t));
|
memset(&esi, 0, sizeof(esi_t));
|
||||||
s = msg;
|
s = msg;
|
||||||
|
|
||||||
stream_get(&esi, s, sizeof(esi_t));
|
STREAM_GET(&esi, s, sizeof(esi_t));
|
||||||
vtep_ip.s_addr = stream_get_ipv4(s);
|
STREAM_GET(&vtep_ip.s_addr, s, sizeof(vtep_ip.s_addr));
|
||||||
|
|
||||||
if (hdr->command == ZEBRA_REMOTE_ES_VTEP_ADD) {
|
if (hdr->command == ZEBRA_REMOTE_ES_VTEP_ADD) {
|
||||||
uint32_t zapi_flags;
|
uint32_t zapi_flags;
|
||||||
@ -2493,16 +2493,19 @@ void zebra_evpn_proc_remote_es(ZAPI_HANDLER_ARGS)
|
|||||||
uint16_t df_pref;
|
uint16_t df_pref;
|
||||||
bool esr_rxed;
|
bool esr_rxed;
|
||||||
|
|
||||||
zapi_flags = stream_getl(s);
|
STREAM_GETL(s, zapi_flags);
|
||||||
esr_rxed = (zapi_flags & ZAPI_ES_VTEP_FLAG_ESR_RXED) ? true
|
esr_rxed = (zapi_flags & ZAPI_ES_VTEP_FLAG_ESR_RXED) ? true
|
||||||
: false;
|
: false;
|
||||||
df_alg = stream_getc(s);
|
STREAM_GETC(s, df_alg);
|
||||||
df_pref = stream_getw(s);
|
STREAM_GETW(s, df_pref);
|
||||||
zebra_evpn_remote_es_add(&esi, vtep_ip, esr_rxed, df_alg,
|
zebra_evpn_remote_es_add(&esi, vtep_ip, esr_rxed, df_alg,
|
||||||
df_pref);
|
df_pref);
|
||||||
} else {
|
} else {
|
||||||
zebra_evpn_remote_es_del(&esi, vtep_ip);
|
zebra_evpn_remote_es_del(&esi, vtep_ip);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
stream_failure:
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void zebra_evpn_es_mac_deref_entry(zebra_mac_t *mac)
|
void zebra_evpn_es_mac_deref_entry(zebra_mac_t *mac)
|
||||||
|
Loading…
Reference in New Issue
Block a user