summaryrefslogtreecommitdiffstats
path: root/src/table.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/table.c')
-rw-r--r--src/table.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/table.c b/src/table.c
index 59e7053..13f01cf 100644
--- a/src/table.c
+++ b/src/table.c
@@ -88,6 +88,8 @@ static uint32_t nftnl_table_validate[NFTNL_TABLE_MAX + 1] = {
[NFTNL_TABLE_FLAGS] = sizeof(uint32_t),
[NFTNL_TABLE_FAMILY] = sizeof(uint32_t),
[NFTNL_TABLE_HANDLE] = sizeof(uint64_t),
+ [NFTNL_TABLE_USE] = sizeof(uint32_t),
+ [NFTNL_TABLE_OWNER] = sizeof(uint32_t),
};
EXPORT_SYMBOL(nftnl_table_set_data);
@@ -99,13 +101,8 @@ int nftnl_table_set_data(struct nftnl_table *t, uint16_t attr,
switch (attr) {
case NFTNL_TABLE_NAME:
- if (t->flags & (1 << NFTNL_TABLE_NAME))
- xfree(t->name);
-
- t->name = strdup(data);
- if (!t->name)
- return -1;
- break;
+ return nftnl_set_str_attr(&t->name, &t->flags,
+ attr, data, data_len);
case NFTNL_TABLE_HANDLE:
memcpy(&t->handle, data, sizeof(t->handle));
break;