Merge pull request #2446 from pacovn/Coverity_1452454_1452455_1452456_Out-of-bounds_access

ospfd: OoB access (Cov 1452454 1452455 1452456)
This commit is contained in:
Russ White 2018-06-20 07:14:49 -04:00 committed by GitHub
commit 9dbaf129b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -516,12 +516,13 @@ static void unset_sr_node_msd(void)
TLV_LEN(OspfRI.sr_info.msd) = htons(0);
}
static void unset_param(struct tlv_header *tlv)
static void unset_param(void *tlv_buffer)
{
struct tlv_header *tlv = (struct tlv_header *)tlv_buffer;
tlv->type = 0;
/* Fill the Value to 0 */
memset(TLV_DATA(tlv), 0, TLV_BODY_SIZE(tlv));
memset(TLV_DATA(tlv_buffer), 0, TLV_BODY_SIZE(tlv));
tlv->length = 0;
return;
@ -1571,7 +1572,7 @@ DEFUN (no_pce_address,
"PCE address in IPv4 address format\n")
{
unset_param(&OspfRI.pce_info.pce_address.header);
unset_param(&OspfRI.pce_info.pce_address);
/* Refresh RI LSA if already engaged */
if (CHECK_FLAG(OspfRI.flags, RIFLG_LSA_ENGAGED))
@ -1621,7 +1622,7 @@ DEFUN (no_pce_path_scope,
"32-bit Hexadecimal value\n")
{
unset_param(&OspfRI.pce_info.pce_address.header);
unset_param(&OspfRI.pce_info.pce_address);
/* Refresh RI LSA if already engaged */
if (CHECK_FLAG(OspfRI.flags, RIFLG_LSA_ENGAGED))
@ -1810,7 +1811,7 @@ DEFUN (no_pce_cap_flag,
"Disable PCE capabilities\n")
{
unset_param(&OspfRI.pce_info.pce_cap_flag.header);
unset_param(&OspfRI.pce_info.pce_cap_flag);
/* Refresh RI LSA if already engaged */
if (CHECK_FLAG(OspfRI.flags, RIFLG_LSA_ENGAGED))