mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-11-15 17:12:14 +03:00
Merge pull request #3447 from chenuduss/v3/master
correct handling result of CPTRetriveNode
This commit is contained in:
@@ -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.");
|
||||||
@@ -967,7 +974,7 @@ int tree_contains_ip(TreeRoot *rtree,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user