*/
int SCHInfoGetHostOSFlavour(char *ip_addr_str)
{
- SCRadixNode *node = NULL;
struct in_addr *ipv4_addr = NULL;
struct in6_addr *ipv6_addr = NULL;
+ void *user_data = NULL;
if (ip_addr_str == NULL || index(ip_addr_str, '/') != NULL)
return -1;
return -1;
}
- if ( (node = SCRadixFindKeyIPV6BestMatch((uint8_t *)ipv6_addr, sc_hinfo_tree)) == NULL)
+ (void)SCRadixFindKeyIPV6BestMatch((uint8_t *)ipv6_addr, sc_hinfo_tree, &user_data);
+ if (user_data == NULL)
return -1;
else
- return *((int *)node->prefix->user_data_result);
+ return *((int *)user_data);
} else {
if ( (ipv4_addr = ValidateIPV4Address(ip_addr_str)) == NULL) {
SCLogError(SC_ERR_INVALID_IPV4_ADDR, "Invalid IPV4 address");
return -1;
}
- if ( (node = SCRadixFindKeyIPV4BestMatch((uint8_t *)ipv4_addr, sc_hinfo_tree)) == NULL)
+ (void)SCRadixFindKeyIPV4BestMatch((uint8_t *)ipv4_addr, sc_hinfo_tree, &user_data);
+ if (user_data == NULL)
return -1;
else
- return *((int *)node->prefix->user_data_result);
+ return *((int *)user_data);
}
}
*/
int SCHInfoGetIPv4HostOSFlavour(uint8_t *ipv4_addr)
{
- SCRadixNode *node = SCRadixFindKeyIPV4BestMatch(ipv4_addr, sc_hinfo_tree);
- if (node == NULL)
+ void *user_data = NULL;
+ (void)SCRadixFindKeyIPV4BestMatch(ipv4_addr, sc_hinfo_tree, &user_data);
+ if (user_data == NULL)
return -1;
else
- return *((int *)node->prefix->user_data_result);
+ return *((int *)user_data);
}
/**
*/
int SCHInfoGetIPv6HostOSFlavour(uint8_t *ipv6_addr)
{
- SCRadixNode *node = SCRadixFindKeyIPV6BestMatch(ipv6_addr, sc_hinfo_tree);
- if (node == NULL)
+ void *user_data = NULL;
+ (void)SCRadixFindKeyIPV6BestMatch(ipv6_addr, sc_hinfo_tree, &user_data);
+ if (user_data == NULL)
return -1;
else
- return *((int *)node->prefix->user_data_result);
+ return *((int *)user_data);
}
void SCHInfoCleanResources(void)