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:
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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) {
|
||||
|
@ -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) {
|
||||
|
Reference in New Issue
Block a user