summaryrefslogtreecommitdiff
path: root/drivers/staging/vt6656/hostap.c
diff options
context:
space:
mode:
authorChristian Engelmayer <cengelma@gmx.at>2014-05-07 21:43:37 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-05-15 13:30:20 -0700
commit721b79d12fef7f13c0ac2cabb7cce39976769fcf (patch)
tree8c95735ce3b2fc1885f4f48ca7b1c4f20c6719a4 /drivers/staging/vt6656/hostap.c
parent62a3f8a10d8dab8bae7565358bee3f923f02b8a0 (diff)
staging: vt6656: fix potential leak in vt6656_hostap_ioctl()
Commit fb841d67 (staging: vt6656: don't leak 'param' in vt6656_hostap_ioctl() when returning -EOPNOTSUPP) cleaned up direct returns in the ioctl switch statement that leaked already allocated memory. Fix the same issue for VIAWGET_HOSTAPD_SCAN_REQ and VIAWGET_HOSTAPD_MLME that are not supported by this driver. Detected by Coverity - CID 144381. Signed-off-by: Christian Engelmayer <cengelma@gmx.at> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/vt6656/hostap.c')
-rw-r--r--drivers/staging/vt6656/hostap.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/staging/vt6656/hostap.c b/drivers/staging/vt6656/hostap.c
index 67ba48b9a8d9..a0d9fffb3787 100644
--- a/drivers/staging/vt6656/hostap.c
+++ b/drivers/staging/vt6656/hostap.c
@@ -742,7 +742,8 @@ int vt6656_hostap_ioctl(struct vnt_private *pDevice, struct iw_point *p)
case VIAWGET_HOSTAPD_MLME:
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "VIAWGET_HOSTAPD_MLME \n");
- return -EOPNOTSUPP;
+ ret = -EOPNOTSUPP;
+ goto out;
case VIAWGET_HOSTAPD_SET_GENERIC_ELEMENT:
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "VIAWGET_HOSTAPD_SET_GENERIC_ELEMENT \n");
@@ -751,7 +752,8 @@ int vt6656_hostap_ioctl(struct vnt_private *pDevice, struct iw_point *p)
case VIAWGET_HOSTAPD_SCAN_REQ:
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "VIAWGET_HOSTAPD_SCAN_REQ \n");
- return -EOPNOTSUPP;
+ ret = -EOPNOTSUPP;
+ goto out;
case VIAWGET_HOSTAPD_STA_CLEAR_STATS:
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "VIAWGET_HOSTAPD_STA_CLEAR_STATS \n");