summaryrefslogtreecommitdiffstats
path: root/src/expr
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2013-08-06 11:33:45 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2013-08-06 11:33:45 +0200
commit99d25746b94b602f7b0f2381b73e0f52d11fca31 (patch)
tree0fa195f88207a21a464c814d3ae3e24d03fba6dd /src/expr
parent19925e0fbc1d709212ed82fe4e43fe6ef1ec3539 (diff)
src: add xfree and use it
This patch adds xfree, a replacement of free that accepts const pointers. This helps to remove ugly castings that you usually need to calm down gcc. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/expr')
-rw-r--r--src/expr/data_reg.c2
-rw-r--r--src/expr/immediate.c2
-rw-r--r--src/expr/log.c4
-rw-r--r--src/expr/match.c4
-rw-r--r--src/expr/target.c4
5 files changed, 8 insertions, 8 deletions
diff --git a/src/expr/data_reg.c b/src/expr/data_reg.c
index 85c441e..305e4d2 100644
--- a/src/expr/data_reg.c
+++ b/src/expr/data_reg.c
@@ -106,7 +106,7 @@ static int nft_data_reg_chain_xml_parse(union nft_data_reg *reg, char *xml)
/* Get and set <chain> */
if (reg->chain)
- free(reg->chain);
+ xfree(reg->chain);
reg->chain = (char *)nft_mxml_str_parse(tree, "chain",
MXML_DESCEND);
diff --git a/src/expr/immediate.c b/src/expr/immediate.c
index e65bd7c..2061172 100644
--- a/src/expr/immediate.c
+++ b/src/expr/immediate.c
@@ -46,7 +46,7 @@ nft_rule_expr_immediate_set(struct nft_rule_expr *e, uint16_t type,
break;
case NFT_EXPR_IMM_CHAIN:
if (imm->data.chain)
- free(imm->data.chain);
+ xfree(imm->data.chain);
imm->data.chain = strdup(data);
break;
diff --git a/src/expr/log.c b/src/expr/log.c
index be2b40e..5b9b871 100644
--- a/src/expr/log.c
+++ b/src/expr/log.c
@@ -38,7 +38,7 @@ nft_rule_expr_log_set(struct nft_rule_expr *e, uint16_t type,
switch(type) {
case NFT_EXPR_LOG_PREFIX:
if (log->prefix)
- free(log->prefix);
+ xfree(log->prefix);
log->prefix = strdup(data);
break;
@@ -131,7 +131,7 @@ nft_rule_expr_log_parse(struct nft_rule_expr *e, struct nlattr *attr)
if (tb[NFTA_LOG_PREFIX]) {
if (log->prefix)
- free(log->prefix);
+ xfree(log->prefix);
log->prefix = strdup(mnl_attr_get_str(tb[NFTA_LOG_PREFIX]));
e->flags |= (1 << NFT_EXPR_LOG_GROUP);
diff --git a/src/expr/match.c b/src/expr/match.c
index 9eb31c5..d155bb3 100644
--- a/src/expr/match.c
+++ b/src/expr/match.c
@@ -50,7 +50,7 @@ nft_rule_expr_match_set(struct nft_rule_expr *e, uint16_t type,
break;
case NFT_EXPR_MT_INFO:
if (mt->data)
- free((void *)mt->data);
+ xfree(mt->data);
mt->data = data;
mt->data_len = data_len;
@@ -153,7 +153,7 @@ static int nft_rule_expr_match_parse(struct nft_rule_expr *e, struct nlattr *att
void *match_data;
if (match->data)
- free((void *) match->data);
+ xfree(match->data);
match_data = calloc(1, len);
if (match_data == NULL)
diff --git a/src/expr/target.c b/src/expr/target.c
index e59f86a..5ef53cb 100644
--- a/src/expr/target.c
+++ b/src/expr/target.c
@@ -50,7 +50,7 @@ nft_rule_expr_target_set(struct nft_rule_expr *e, uint16_t type,
break;
case NFT_EXPR_TG_INFO:
if (tg->data)
- free((void *)tg->data);
+ xfree(tg->data);
tg->data = data;
tg->data_len = data_len;
@@ -153,7 +153,7 @@ static int nft_rule_expr_target_parse(struct nft_rule_expr *e, struct nlattr *at
void *target_data;
if (target->data)
- free((void *) target->data);
+ xfree(target->data);
target_data = calloc(1, len);
if (target_data == NULL)