On Sat, Aug 24, 2024 at 01:45:00PM +0800, Greg KH wrote: > On Fri, Aug 23, 2024 at 09:04:11PM +0530, Abhishek Tamboli wrote: > > Replace strcpy() with strcat() in rtl819x_translate_scan() > > Also Fix proto_name[] buffer size issue to accommodate all > > network modes. > > When you say "also" in a changelog text, that's a huge hint that this > should probably be split up into multiple changes. Please do that here. Sure, I'll do it. > More comments below. > > > Signed-off-by: Abhishek Tamboli <abhishektamboli9@xxxxxxxxx> > > --- > > Changes in v2: > > - Revert the use of strscpy and replaced it with strcat. > > - Remove the 'pname' and replace it's usage with direct > > operations on 'proto_name' buffer. > > > > drivers/staging/rtl8192e/rtllib_wx.c | 13 ++++++------- > > 1 file changed, 6 insertions(+), 7 deletions(-) > > > > diff --git a/drivers/staging/rtl8192e/rtllib_wx.c b/drivers/staging/rtl8192e/rtllib_wx.c > > index fbd4ec824084..ec0c4c5bade7 100644 > > --- a/drivers/staging/rtl8192e/rtllib_wx.c > > +++ b/drivers/staging/rtl8192e/rtllib_wx.c > > @@ -23,14 +23,14 @@ static const char * const rtllib_modes[] = { > > }; > > > > #define MAX_CUSTOM_LEN 64 > > +#define MAX_PROTO_NAME_LEN 10 > > Where did this "10" come from? What sets this limit? Why not 100? > 1000? 2? You get the idea :) > yes, I got it. > > static inline char *rtl819x_translate_scan(struct rtllib_device *ieee, > > char *start, char *stop, > > struct rtllib_network *network, > > struct iw_request_info *info) > > { > > char custom[MAX_CUSTOM_LEN]; > > - char proto_name[6]; > > - char *pname = proto_name; > > + char proto_name[MAX_PROTO_NAME_LEN]; > > char *p; > > struct iw_event iwe; > > int i, j; > > @@ -59,13 +59,12 @@ static inline char *rtl819x_translate_scan(struct rtllib_device *ieee, > > } > > /* Add the protocol name */ > > iwe.cmd = SIOCGIWNAME; > > + /* Initialise proto_name as an empty string*/ > > + memset(proto_name, '\0', sizeof(proto_name)); > > for (i = 0; i < ARRAY_SIZE(rtllib_modes); i++) { > > - if (network->mode & BIT(i)) { > > - strcpy(pname, rtllib_modes[i]); > > - pname += strlen(rtllib_modes[i]); > > + if (network->mode & BIT(i)) > > + strcat(proto_name, rtllib_modes[i]); > > } > > - } > > I think the } placement is now incorrect, right? Did you run checkpatch > on this change? Yes, I do run the checkpatch on this change and didn't get any warnings or errors. Thanks, for the feedback. I'll do the changes. Regards, Abhishek