Skip to content

Commit 3d0440e

Browse files
authored
Merge pull request #3447 from chenuduss/v3/master
correct handling result of CPTRetriveNode
2 parents e523d72 + 89eeb92 commit 3d0440e

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

src/utils/msc_tree.cc

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -668,14 +668,21 @@ TreeNode *CPTFindElementIPNetblock(unsigned char *ipdata, unsigned char ip_bitma
668668

669669
node = CPTRetriveNode(ipdata, ip_bitmask, node);
670670

671-
if (node && node->bit != ip_bitmask) {
671+
if(node == NULL) {
672+
//if (msr && msr->txcfg->debuglog_level >= 9) {
673+
// msr_log(msr, 9, "CPTFindElement: Node tree is NULL.");
674+
//}
675+
return node;
676+
}
677+
678+
if (node->bit != ip_bitmask) {
672679
//if (msr && msr->txcfg->debuglog_level >= 9) {
673680
// msr_log(msr, 9, "CPTFindElementIPNetblock: Found a tree node but netmask is different.");
674681
//}
675682
return NULL;
676683
}
677684

678-
if (node && node->prefix == NULL) {
685+
if (node->prefix == NULL) {
679686
//if (msr && msr->txcfg->debuglog_level >= 9) {
680687
// msr_log(msr, 9, "CPTFindElementIPNetblock: Found a tree node but prefix is NULL.");
681688
//}
@@ -745,18 +752,18 @@ TreeNode *CPTFindElement(unsigned char *ipdata, unsigned int ip_bitmask, CPTTree
745752

746753
node = CPTRetriveNode(temp_data, ip_bitmask, node);
747754

748-
if (node && (node->bit != ip_bitmask)) {
755+
if(node == NULL) {
749756
//if (msr && msr->txcfg->debuglog_level >= 9) {
750-
// msr_log(msr, 9, "CPTFindElement: Found a tree node but netmask is different.");
757+
// msr_log(msr, 9, "CPTFindElement: Node tree is NULL.");
751758
//}
752-
return NULL;
759+
return node;
753760
}
754761

755-
if(node == NULL) {
762+
if (node->bit != ip_bitmask) {
756763
//if (msr && msr->txcfg->debuglog_level >= 9) {
757-
// msr_log(msr, 9, "CPTFindElement: Node tree is NULL.");
764+
// msr_log(msr, 9, "CPTFindElement: Found a tree node but netmask is different.");
758765
//}
759-
return node;
766+
return NULL;
760767
}
761768

762769
if(node->prefix == NULL) {
@@ -967,7 +974,7 @@ int tree_contains_ip(TreeRoot *rtree,
967974
}
968975
}
969976

970-
977+
971978
return 0;
972979
}
973980

0 commit comments

Comments
 (0)