git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'stable-3.2' into pandora-3.2
[pandora-kernel.git]
/
drivers
/
staging
/
wlags49_h2
/
wl_priv.c
diff --git
a/drivers/staging/wlags49_h2/wl_priv.c
b/drivers/staging/wlags49_h2/wl_priv.c
index
260d4f0
..
b3d2e17
100644
(file)
--- a/
drivers/staging/wlags49_h2/wl_priv.c
+++ b/
drivers/staging/wlags49_h2/wl_priv.c
@@
-570,6
+570,7
@@
int wvlan_uil_put_info( struct uilreq *urq, struct wl_private *lp )
ltv_t *pLtv;
bool_t ltvAllocated = FALSE;
ENCSTRCT sEncryption;
ltv_t *pLtv;
bool_t ltvAllocated = FALSE;
ENCSTRCT sEncryption;
+ size_t len;
#ifdef USE_WDS
hcf_16 hcfPort = HCF_PORT_0;
#ifdef USE_WDS
hcf_16 hcfPort = HCF_PORT_0;
@@
-686,7
+687,8
@@
int wvlan_uil_put_info( struct uilreq *urq, struct wl_private *lp )
break;
case CFG_CNF_OWN_NAME:
memset( lp->StationName, 0, sizeof( lp->StationName ));
break;
case CFG_CNF_OWN_NAME:
memset( lp->StationName, 0, sizeof( lp->StationName ));
- memcpy( (void *)lp->StationName, (void *)&pLtv->u.u8[2], (size_t)pLtv->u.u16[0]);
+ len = min_t(size_t, pLtv->u.u16[0], sizeof(lp->StationName));
+ strlcpy(lp->StationName, &pLtv->u.u8[2], len);
pLtv->u.u16[0] = CNV_INT_TO_LITTLE( pLtv->u.u16[0] );
break;
case CFG_CNF_LOAD_BALANCING:
pLtv->u.u16[0] = CNV_INT_TO_LITTLE( pLtv->u.u16[0] );
break;
case CFG_CNF_LOAD_BALANCING:
@@
-1800,6
+1802,7
@@
int wvlan_set_station_nickname(struct net_device *dev,
{
struct wl_private *lp = wl_priv(dev);
unsigned long flags;
{
struct wl_private *lp = wl_priv(dev);
unsigned long flags;
+ size_t len;
int ret = 0;
/*------------------------------------------------------------------------*/
int ret = 0;
/*------------------------------------------------------------------------*/
@@
-1810,8
+1813,8
@@
int wvlan_set_station_nickname(struct net_device *dev,
wl_lock(lp, &flags);
memset( lp->StationName, 0, sizeof( lp->StationName ));
wl_lock(lp, &flags);
memset( lp->StationName, 0, sizeof( lp->StationName ));
-
-
memcpy( lp->StationName, extra, wrqu->data.length
);
+ len = min_t(size_t, wrqu->data.length, sizeof(lp->StationName));
+
strlcpy(lp->StationName, extra, len
);
/* Commit the adapter parameters */
wl_apply( lp );
/* Commit the adapter parameters */
wl_apply( lp );