mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-01 03:11:59 +00:00
netfilter: x_tables: rectify XT_FUNCTION_MAXNAMELEN usage
There has been quite a confusion in userspace about XT_FUNCTION_MAXNAMELEN; because struct xt_entry_match used MAX-1, userspace would have to do an awkward MAX-2 for maximum length checking (due to '\0'). This patch adds a new define that matches the definition of XT_TABLE_MAXNAMELEN - being the size of the actual struct member, not one off. Signed-off-by: Jan Engelhardt <jengelh@medozas.de> Signed-off-by: Patrick McHardy <kaber@trash.net>
This commit is contained in:
parent
af740b2c8f
commit
4b2cbd42be
1 changed files with 6 additions and 8 deletions
|
@ -4,6 +4,7 @@
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
|
|
||||||
#define XT_FUNCTION_MAXNAMELEN 30
|
#define XT_FUNCTION_MAXNAMELEN 30
|
||||||
|
#define XT_EXTENSION_MAXNAMELEN 29
|
||||||
#define XT_TABLE_MAXNAMELEN 32
|
#define XT_TABLE_MAXNAMELEN 32
|
||||||
|
|
||||||
struct xt_entry_match {
|
struct xt_entry_match {
|
||||||
|
@ -12,8 +13,7 @@ struct xt_entry_match {
|
||||||
__u16 match_size;
|
__u16 match_size;
|
||||||
|
|
||||||
/* Used by userspace */
|
/* Used by userspace */
|
||||||
char name[XT_FUNCTION_MAXNAMELEN-1];
|
char name[XT_EXTENSION_MAXNAMELEN];
|
||||||
|
|
||||||
__u8 revision;
|
__u8 revision;
|
||||||
} user;
|
} user;
|
||||||
struct {
|
struct {
|
||||||
|
@ -36,8 +36,7 @@ struct xt_entry_target {
|
||||||
__u16 target_size;
|
__u16 target_size;
|
||||||
|
|
||||||
/* Used by userspace */
|
/* Used by userspace */
|
||||||
char name[XT_FUNCTION_MAXNAMELEN-1];
|
char name[XT_EXTENSION_MAXNAMELEN];
|
||||||
|
|
||||||
__u8 revision;
|
__u8 revision;
|
||||||
} user;
|
} user;
|
||||||
struct {
|
struct {
|
||||||
|
@ -70,8 +69,7 @@ struct xt_standard_target {
|
||||||
/* The argument to IPT_SO_GET_REVISION_*. Returns highest revision
|
/* The argument to IPT_SO_GET_REVISION_*. Returns highest revision
|
||||||
* kernel supports, if >= revision. */
|
* kernel supports, if >= revision. */
|
||||||
struct xt_get_revision {
|
struct xt_get_revision {
|
||||||
char name[XT_FUNCTION_MAXNAMELEN-1];
|
char name[XT_EXTENSION_MAXNAMELEN];
|
||||||
|
|
||||||
__u8 revision;
|
__u8 revision;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -291,7 +289,7 @@ struct xt_tgdtor_param {
|
||||||
struct xt_match {
|
struct xt_match {
|
||||||
struct list_head list;
|
struct list_head list;
|
||||||
|
|
||||||
const char name[XT_FUNCTION_MAXNAMELEN-1];
|
const char name[XT_EXTENSION_MAXNAMELEN];
|
||||||
u_int8_t revision;
|
u_int8_t revision;
|
||||||
|
|
||||||
/* Return true or false: return FALSE and set *hotdrop = 1 to
|
/* Return true or false: return FALSE and set *hotdrop = 1 to
|
||||||
|
@ -330,7 +328,7 @@ struct xt_match {
|
||||||
struct xt_target {
|
struct xt_target {
|
||||||
struct list_head list;
|
struct list_head list;
|
||||||
|
|
||||||
const char name[XT_FUNCTION_MAXNAMELEN-1];
|
const char name[XT_EXTENSION_MAXNAMELEN];
|
||||||
u_int8_t revision;
|
u_int8_t revision;
|
||||||
|
|
||||||
/* Returns verdict. Argument order changed since 2.6.9, as this
|
/* Returns verdict. Argument order changed since 2.6.9, as this
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue