1
0
mirror of https://github.com/rtbrick/bngblaster.git synced 2024-05-06 15:54:57 +00:00

ISIS crash fixed

Crash if ISIS PDU was received but not configured.
This commit is contained in:
Christian Giese
2022-02-22 13:07:16 +01:00
parent 2f8f5a2e66
commit abf1886c9e
4 changed files with 20 additions and 8 deletions

View File

@ -167,8 +167,8 @@ void
isis_csnp_handler_rx(bbl_interface_s *interface, isis_pdu_t *pdu, uint8_t level) {
isis_adjacency_t *adjacency = interface->isis_adjacency[level-1];
isis_instance_t *instance = adjacency->instance;
isis_config_t *config = instance->config;
isis_instance_t *instance = NULL;
isis_config_t *config = NULL;
uint64_t csnp_scan = ++g_csnp_scan;
@ -186,6 +186,9 @@ isis_csnp_handler_rx(bbl_interface_s *interface, isis_pdu_t *pdu, uint8_t level)
if(!adjacency) {
return;
}
instance = adjacency->instance;
config = instance->config;
adjacency->stats.csnp_rx++;
lsp_start = be64toh(*(uint64_t*)PDU_OFFSET(pdu, ISIS_OFFSET_CSNP_LSP_START));

View File

@ -452,8 +452,8 @@ void
isis_lsp_handler_rx(bbl_interface_s *interface, isis_pdu_t *pdu, uint8_t level) {
isis_adjacency_t *adjacency = interface->isis_adjacency[level-1];
isis_instance_t *instance = adjacency->instance;
isis_config_t *config = instance->config;
isis_instance_t *instance = NULL;
isis_config_t *config = NULL;
isis_lsp_t *lsp = NULL;
uint64_t lsp_id;
@ -469,6 +469,9 @@ isis_lsp_handler_rx(bbl_interface_s *interface, isis_pdu_t *pdu, uint8_t level)
if(!adjacency) {
return;
}
instance = adjacency->instance;
config = instance->config;
adjacency->stats.lsp_rx++;
lsp_id = be64toh(*(uint64_t*)PDU_OFFSET(pdu, ISIS_OFFSET_LSP_ID));

View File

@ -113,8 +113,8 @@ void
isis_p2p_hello_handler_rx(bbl_interface_s *interface, isis_pdu_t *pdu) {
isis_adjacency_p2p_t *adjacency = interface->isis_adjacency_p2p;
isis_instance_t *instance = adjacency->instance;
isis_config_t *config = instance->config;
isis_instance_t *instance = NULL;
isis_config_t *config = NULL;
isis_peer_t *peer;
isis_tlv_t *tlv;
@ -128,6 +128,9 @@ isis_p2p_hello_handler_rx(bbl_interface_s *interface, isis_pdu_t *pdu) {
if(!adjacency) {
return;
}
instance = adjacency->instance;
config = instance->config;
adjacency->stats.hello_rx++;
if(config->level1_auth && config->level1_key) {

View File

@ -146,8 +146,8 @@ void
isis_psnp_handler_rx(bbl_interface_s *interface, isis_pdu_t *pdu, uint8_t level) {
isis_adjacency_t *adjacency = interface->isis_adjacency[level-1];
isis_instance_t *instance = adjacency->instance;
isis_config_t *config = instance->config;
isis_instance_t *instance = NULL;
isis_config_t *config = NULL;
hb_tree *lsdb;
@ -157,6 +157,9 @@ isis_psnp_handler_rx(bbl_interface_s *interface, isis_pdu_t *pdu, uint8_t level)
if(!adjacency) {
return;
}
instance = adjacency->instance;
config = instance->config;
adjacency->stats.psnp_rx++;
if(level == ISIS_LEVEL_1 && config->level1_auth && config->level1_key) {