Преглед изворни кода

qcacld-3.0: Validate dialog id in TWT setup request

Incorrect dialog id can cause add dialog request to target to fail.
Validate the id from user before sending it to the target.

Change-Id: Ib40b2554a1a420e9b799aab80a991fbab484667f
CRs-Fixed: 2827838
Madhvapathi Sriram пре 4 година
родитељ
комит
e128ee09ef
1 измењених фајлова са 4 додато и 0 уклоњено
  1. 4 0
      core/hdd/src/wlan_hdd_twt.c

+ 4 - 0
core/hdd/src/wlan_hdd_twt.c

@@ -147,6 +147,10 @@ int hdd_twt_get_add_dialog_values(struct nlattr **tb,
 	cmd_id = QCA_WLAN_VENDOR_ATTR_TWT_SETUP_FLOW_ID;
 	if (tb[cmd_id]) {
 		params->dialog_id = nla_get_u8(tb[cmd_id]);
+		if (params->dialog_id > TWT_MAX_DIALOG_ID) {
+			hdd_err_rl("Flow id (%u) invalid", params->dialog_id);
+			return -EINVAL;
+		}
 	} else {
 		params->dialog_id = 0;
 		hdd_debug("TWT_SETUP_FLOW_ID not specified. set to zero");