@@ -832,7 +832,7 @@ TreeNode *TreeAddIP(const char *buffer, CPTTree *tree, int type) {
832832 switch (type ) {
833833
834834 case IPV4_TREE :
835- memset (& addr4 , 0 , sizeof (addr4 ));
835+ memset (& ( addr4 . s_addr ) , 0 , sizeof (addr4 . s_addr ));
836836 memset (ip_strv4 , 0x0 , NETMASK_32 );
837837
838838 strncpy (ip_strv4 , buffer , sizeof (ip_strv4 ));
@@ -859,20 +859,16 @@ TreeNode *TreeAddIP(const char *buffer, CPTTree *tree, int type) {
859859 ip_strv4 [pos ] = '\0' ;
860860 }
861861
862- ret = inet_pton (AF_INET , ip_strv4 , & addr4 );
862+ ret = inet_pton (AF_INET , ip_strv4 , & ( addr4 . s_addr ) );
863863
864864 if (ret <= 0 ) {
865865 return NULL ;
866866 }
867-
868- ip = addr4 .s_addr ;
869-
870867 tree -> count ++ ;
871-
872- return CPTAddElement ((unsigned char * )& ip , NETMASK_32 , tree , netmask_v4 );
868+ return CPTAddElement ((unsigned char * )& (addr4 .s_addr ), NETMASK_32 , tree , netmask_v4 );
873869
874870 case IPV6_TREE :
875- memset (& addr6 , 0 , sizeof (addr6 ));
871+ memset (& ( addr6 . s6_addr ) , 0 , sizeof (addr6 . s6_addr ));
876872 memset (ip_strv6 , 0x0 , NETMASK_128 );
877873
878874 strncpy (ip_strv6 , buffer , sizeof (ip_strv6 ));
@@ -899,7 +895,7 @@ TreeNode *TreeAddIP(const char *buffer, CPTTree *tree, int type) {
899895 ip_strv6 [pos ] = '\0' ;
900896 }
901897
902- ret = inet_pton (AF_INET6 , ip_strv6 , & addr6 );
898+ ret = inet_pton (AF_INET6 , ip_strv6 , & ( addr6 . s6_addr ) );
903899
904900 if (ret <= 0 )
905901 {
@@ -908,10 +904,11 @@ TreeNode *TreeAddIP(const char *buffer, CPTTree *tree, int type) {
908904
909905 tree -> count ++ ;
910906
911- return CPTAddElement ((unsigned char * )& addr6 .s6_addr , NETMASK_128 , tree , netmask_v6 );
907+ return CPTAddElement ((unsigned char * )& ( addr6 .s6_addr ) , NETMASK_128 , tree , netmask_v6 );
912908 default :
913909 return NULL ;
914910 }
915911
916912 return NULL ;
917913}
914+
0 commit comments