Эх сурвалжийг харах

mac80211: validate SIOCSIWPOWER arguments better

Don't accept any arguments we don't handle, and return error codes
instead of using an uninitialised stack value.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Reviewed-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg 16 жил өмнө
parent
commit
e9aeabaeb9
1 өөрчлөгдсөн 4 нэмэгдсэн , 1 устгасан
  1. 4 1
      net/mac80211/wext.c

+ 4 - 1
net/mac80211/wext.c

@@ -853,9 +853,12 @@ static int ieee80211_ioctl_siwpower(struct net_device *dev,
 		ps = true;
 		break;
 	default:                /* Otherwise we ignore */
-		break;
+		return -EINVAL;
 	}
 
+	if (wrq->flags & ~(IW_POWER_MODE | IW_POWER_TIMEOUT))
+		return -EINVAL;
+
 	if (wrq->flags & IW_POWER_TIMEOUT)
 		timeout = wrq->value / 1000;