瀏覽代碼

ipc: add validity check to APR port

Add boundary checks for APR port received from ADSP.

CRs-Fixed: 2143207
Change-Id: I9a7fa39ee223e1859323caa6eb74c1c8a26a041d
Signed-off-by: Aditya Bavanari <[email protected]>
Aditya Bavanari 7 年之前
父節點
當前提交
d3047b2ae0
共有 1 個文件被更改,包括 4 次插入3 次删除
  1. 4 3
      ipc/apr.c

+ 4 - 3
ipc/apr.c

@@ -717,9 +717,10 @@ void apr_cb_func(void *buf, int len, void *priv)
 	}
 
 	temp_port = ((data.dest_port >> 8) * 8) + (data.dest_port & 0xFF);
-	pr_debug("port = %d t_port = %d\n", data.src_port, temp_port);
-	if (c_svc->port_cnt && c_svc->port_fn[temp_port])
-		c_svc->port_fn[temp_port](&data,  c_svc->port_priv[temp_port]);
+	if (((temp_port >= 0) && (temp_port < APR_MAX_PORTS))
+		&& (c_svc->port_cnt && c_svc->port_fn[temp_port]))
+		c_svc->port_fn[temp_port](&data,
+			c_svc->port_priv[temp_port]);
 	else if (c_svc->fn)
 		c_svc->fn(&data, c_svc->priv);
 	else