correct handling result of CPTRetriveNode

This commit is contained in:
chenuduss
2025-10-15 16:52:20 +03:00
parent e523d7223b
commit 89eeb9239a

View File

@@ -668,14 +668,21 @@ TreeNode *CPTFindElementIPNetblock(unsigned char *ipdata, unsigned char ip_bitma
node = CPTRetriveNode(ipdata, ip_bitmask, node); node = CPTRetriveNode(ipdata, ip_bitmask, node);
if (node && node->bit != ip_bitmask) { if(node == NULL) {
//if (msr && msr->txcfg->debuglog_level >= 9) {
// msr_log(msr, 9, "CPTFindElement: Node tree is NULL.");
//}
return node;
}
if (node->bit != ip_bitmask) {
//if (msr && msr->txcfg->debuglog_level >= 9) { //if (msr && msr->txcfg->debuglog_level >= 9) {
// msr_log(msr, 9, "CPTFindElementIPNetblock: Found a tree node but netmask is different."); // msr_log(msr, 9, "CPTFindElementIPNetblock: Found a tree node but netmask is different.");
//} //}
return NULL; return NULL;
} }
if (node && node->prefix == NULL) { if (node->prefix == NULL) {
//if (msr && msr->txcfg->debuglog_level >= 9) { //if (msr && msr->txcfg->debuglog_level >= 9) {
// msr_log(msr, 9, "CPTFindElementIPNetblock: Found a tree node but prefix is NULL."); // msr_log(msr, 9, "CPTFindElementIPNetblock: Found a tree node but prefix is NULL.");
//} //}
@@ -745,13 +752,6 @@ TreeNode *CPTFindElement(unsigned char *ipdata, unsigned int ip_bitmask, CPTTree
node = CPTRetriveNode(temp_data, ip_bitmask, node); node = CPTRetriveNode(temp_data, ip_bitmask, node);
if (node && (node->bit != ip_bitmask)) {
//if (msr && msr->txcfg->debuglog_level >= 9) {
// msr_log(msr, 9, "CPTFindElement: Found a tree node but netmask is different.");
//}
return NULL;
}
if(node == NULL) { if(node == NULL) {
//if (msr && msr->txcfg->debuglog_level >= 9) { //if (msr && msr->txcfg->debuglog_level >= 9) {
// msr_log(msr, 9, "CPTFindElement: Node tree is NULL."); // msr_log(msr, 9, "CPTFindElement: Node tree is NULL.");
@@ -759,6 +759,13 @@ TreeNode *CPTFindElement(unsigned char *ipdata, unsigned int ip_bitmask, CPTTree
return node; return node;
} }
if (node->bit != ip_bitmask) {
//if (msr && msr->txcfg->debuglog_level >= 9) {
// msr_log(msr, 9, "CPTFindElement: Found a tree node but netmask is different.");
//}
return NULL;
}
if(node->prefix == NULL) { if(node->prefix == NULL) {
//if (msr && msr->txcfg->debuglog_level >= 9) { //if (msr && msr->txcfg->debuglog_level >= 9) {
// msr_log(msr, 9, "CPTFindElement: Found a tree node but prefix is NULL."); // msr_log(msr, 9, "CPTFindElement: Found a tree node but prefix is NULL.");