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