@@ -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