mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-14 05:45:59 +03:00
fix: memory leak at msc_tree
This commit is contained in:
parent
1ff9f2a943
commit
d4ec786c7f
@ -407,8 +407,10 @@ TreeNode *CPTAddElement(unsigned char *ipdata, unsigned int ip_bitmask, CPTTree
|
|||||||
CPTData *prefix_data = CPTCreateCPTData(netmask);
|
CPTData *prefix_data = CPTCreateCPTData(netmask);
|
||||||
CPTAppendToCPTDataList(prefix_data, &prefix->prefix_data);
|
CPTAppendToCPTDataList(prefix_data, &prefix->prefix_data);
|
||||||
|
|
||||||
if(CheckBitmask(netmask, ip_bitmask))
|
if(CheckBitmask(netmask, ip_bitmask)) {
|
||||||
|
free(prefix);
|
||||||
return node;
|
return node;
|
||||||
|
}
|
||||||
|
|
||||||
parent = node->parent;
|
parent = node->parent;
|
||||||
while (parent != NULL && netmask < (parent->bit + 1)) {
|
while (parent != NULL && netmask < (parent->bit + 1)) {
|
||||||
@ -423,6 +425,7 @@ TreeNode *CPTAddElement(unsigned char *ipdata, unsigned int ip_bitmask, CPTTree
|
|||||||
|
|
||||||
if ((node->count -1) == 0) {
|
if ((node->count -1) == 0) {
|
||||||
node->netmasks[0] = netmask;
|
node->netmasks[0] = netmask;
|
||||||
|
free(prefix);
|
||||||
return new_node;
|
return new_node;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -449,8 +452,10 @@ TreeNode *CPTAddElement(unsigned char *ipdata, unsigned int ip_bitmask, CPTTree
|
|||||||
|
|
||||||
new_node = CPTCreateNode();
|
new_node = CPTCreateNode();
|
||||||
|
|
||||||
if(new_node == NULL)
|
if(new_node == NULL) {
|
||||||
|
free(prefix);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
new_node->prefix = prefix;
|
new_node->prefix = prefix;
|
||||||
new_node->bit = prefix->bitlen;
|
new_node->bit = prefix->bitlen;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user