staging: vt6656: fix potential leak in vt6656_hostap_ioctl()
authorChristian Engelmayer <cengelma@gmx.at>
Wed, 7 May 2014 19:43:37 +0000 (21:43 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 15 May 2014 20:30:20 +0000 (13:30 -0700)
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>
drivers/staging/vt6656/hostap.c

index 67ba48b9a8d906d7c8e1091a7ccfdddebf9b9ee5..a0d9fffb3787fe1254f20f218826650d933c5c06 100644 (file)
@@ -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");