From 7883b2f77d780e71a8778081f6d4e2caa3abbfc5 Mon Sep 17 00:00:00 2001 From: Jean Tourrilhes Date: Fri, 10 May 2002 20:39:50 -0400 Subject: [PATCH] Fix four similar off-by-one errors in wireless net drvr core. --- include/net/iw_handler.h | 3 ++- net/core/wireless.c | 12 +++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/include/net/iw_handler.h b/include/net/iw_handler.h index 4f27f0364c8d..192dea1f9d08 100644 --- a/include/net/iw_handler.h +++ b/include/net/iw_handler.h @@ -245,7 +245,8 @@ /* Wrapper level flags */ #define IW_DESCR_FLAG_DUMP 0x0001 /* Not part of the dump command */ #define IW_DESCR_FLAG_EVENT 0x0002 /* Generate an event on SET */ -#define IW_DESCR_FLAG_RESTRICT 0x0004 /* GET request is ROOT only */ +#define IW_DESCR_FLAG_RESTRICT 0x0004 /* GET : request is ROOT only */ + /* SET : Omit payload from generated iwevent */ /* Driver level flags */ #define IW_DESCR_FLAG_WAIT 0x0100 /* Wait for driver event */ diff --git a/net/core/wireless.c b/net/core/wireless.c index 40e44acd0143..8bc688d67515 100644 --- a/net/core/wireless.c +++ b/net/core/wireless.c @@ -28,11 +28,13 @@ * * v3 - 19.12.01 - Jean II * o Make sure we don't go out of standard_ioctl[] in ioctl_standard_call - * o Fix /proc/net/wireless to handle __u8 to __s8 change in iwqual * o Add event dispatcher function * o Add event description * o Propagate events as rtnetlink IFLA_WIRELESS option * o Generate event on selected SET requests + * + * v4 - 18.04.01 - Jean II + * o Fix stupid off by one in iw_ioctl_description : IW_ESSID_MAX_SIZE + 1 */ /***************************** INCLUDES *****************************/ @@ -122,13 +124,13 @@ static const struct iw_ioctl_description standard_ioctl[] = { /* SIOCGIWSCAN */ { IW_HEADER_TYPE_POINT, 0, 1, 0, IW_SCAN_MAX_DATA, 0}, /* SIOCSIWESSID */ - { IW_HEADER_TYPE_POINT, 0, 1, 0, IW_ESSID_MAX_SIZE, IW_DESCR_FLAG_EVENT}, + { IW_HEADER_TYPE_POINT, 0, 1, 0, IW_ESSID_MAX_SIZE + 1, IW_DESCR_FLAG_EVENT}, /* SIOCGIWESSID */ - { IW_HEADER_TYPE_POINT, 0, 1, 0, IW_ESSID_MAX_SIZE, IW_DESCR_FLAG_DUMP}, + { IW_HEADER_TYPE_POINT, 0, 1, 0, IW_ESSID_MAX_SIZE + 1, IW_DESCR_FLAG_DUMP}, /* SIOCSIWNICKN */ - { IW_HEADER_TYPE_POINT, 0, 1, 0, IW_ESSID_MAX_SIZE, 0}, + { IW_HEADER_TYPE_POINT, 0, 1, 0, IW_ESSID_MAX_SIZE + 1, 0}, /* SIOCGIWNICKN */ - { IW_HEADER_TYPE_POINT, 0, 1, 0, IW_ESSID_MAX_SIZE, 0}, + { IW_HEADER_TYPE_POINT, 0, 1, 0, IW_ESSID_MAX_SIZE + 1, 0}, /* -- hole -- */ { IW_HEADER_TYPE_NULL, 0, 0, 0, 0, 0}, /* -- hole -- */ -- 2.39.5