We have several char * field that were not constify to avoid
gcc compilation warnings when calling free. Since (
99d2574 src:
add xfree and use it), we can fully constify these objects
fields without trouble.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
void nft_chain_attr_set_u64(struct nft_chain *t, uint16_t attr, uint64_t data);
void nft_chain_attr_set_str(struct nft_chain *t, uint16_t attr, const char *str);
-void *nft_chain_attr_get(struct nft_chain *c, uint16_t attr);
+const void *nft_chain_attr_get(struct nft_chain *c, uint16_t attr);
const char *nft_chain_attr_get_str(struct nft_chain *c, uint16_t attr);
uint32_t nft_chain_attr_get_u32(struct nft_chain *c, uint16_t attr);
int32_t nft_chain_attr_get_s32(struct nft_chain *c, uint16_t attr);
void nft_set_attr_set_u32(struct nft_set *s, uint16_t attr, uint32_t val);
void nft_set_attr_set_str(struct nft_set *s, uint16_t attr, const char *str);
-void *nft_set_attr_get(struct nft_set *s, uint16_t attr);
+const void *nft_set_attr_get(struct nft_set *s, uint16_t attr);
const char *nft_set_attr_get_str(struct nft_set *s, uint16_t attr);
uint32_t nft_set_attr_get_u32(struct nft_set *s, uint16_t attr);
struct list_head head;
char name[NFT_CHAIN_MAXNAMELEN];
- char *type;
- char *table;
+ const char *type;
+ const char *table;
uint8_t family;
uint32_t policy;
uint32_t hooknum;
}
EXPORT_SYMBOL(nft_chain_attr_set_str);
-void *nft_chain_attr_get(struct nft_chain *c, uint16_t attr)
+const void *nft_chain_attr_get(struct nft_chain *c, uint16_t attr)
{
if (!(c->flags & (1 << attr)))
return NULL;
uint32_t nft_chain_attr_get_u32(struct nft_chain *c, uint16_t attr)
{
- uint32_t *val = nft_chain_attr_get(c, attr);
+ const uint32_t *val = nft_chain_attr_get(c, attr);
return val ? *val : 0;
}
EXPORT_SYMBOL(nft_chain_attr_get_u32);
int32_t nft_chain_attr_get_s32(struct nft_chain *c, uint16_t attr)
{
- int32_t *val = nft_chain_attr_get(c, attr);
+ const int32_t *val = nft_chain_attr_get(c, attr);
return val ? *val : 0;
}
EXPORT_SYMBOL(nft_chain_attr_get_s32);
uint64_t nft_chain_attr_get_u64(struct nft_chain *c, uint16_t attr)
{
- uint64_t *val = nft_chain_attr_get(c, attr);
+ const uint64_t *val = nft_chain_attr_get(c, attr);
return val ? *val : 0;
}
EXPORT_SYMBOL(nft_chain_attr_get_u64);
uint32_t group;
uint32_t snaplen;
uint32_t qthreshold;
- char *prefix;
+ const char *prefix;
};
static int
struct expr_ops {
struct list_head head;
- char *name;
+ const char *name;
size_t alloc_len;
int max_attr;
int (*set)(struct nft_rule_expr *e, uint16_t type, const void *data, size_t data_len);
uint32_t family;
uint32_t set_flags;
- char *table;
- char *name;
+ const char *table;
+ const char *name;
uint32_t key_type;
uint32_t key_len;
uint32_t data_type;
}
EXPORT_SYMBOL(nft_set_attr_set_str);
-void *nft_set_attr_get(struct nft_set *s, uint16_t attr)
+const void *nft_set_attr_get(struct nft_set *s, uint16_t attr)
{
if (!(s->flags & (1 << attr)))
return NULL;
struct nft_table {
struct list_head head;
- char *name;
+ const char *name;
uint8_t family;
uint32_t table_flags;
uint32_t flags;