mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
ANDROID: tty: fix tty name overflow
The tty name can be up to 8 chars if id is greater than 10 such as
ttyUSB11. In that case, the name will be overflowed. To prevent this,
this patch removes snprintf and adds comparison the idx value of
pdev_tty_port only if pdev_tty_port is specified.
Bug: 157525691
Bug: 161501868
Fixes: 21d085e1cc ("ANDROID: serdev: restrict claim of platform devices")
Change-Id: I2a766c9a83a09a1d386686638d8e9c529eeeb735
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
This commit is contained in:
committed by
Alistair Delva
parent
7bce156524
commit
5473d45de0
@@ -301,12 +301,16 @@ struct device *serdev_tty_port_register(struct tty_port *port,
|
||||
* be ignored.
|
||||
*/
|
||||
if (parent->bus == &platform_bus_type) {
|
||||
char tty_port_name[7];
|
||||
if (pdev_tty_port) {
|
||||
unsigned long pdev_idx;
|
||||
int tty_len = strlen(drv->name);
|
||||
|
||||
sprintf(tty_port_name, "%s%d", drv->name, idx);
|
||||
if (pdev_tty_port &&
|
||||
!strcmp(pdev_tty_port, tty_port_name)) {
|
||||
platform = true;
|
||||
if (!strncmp(pdev_tty_port, drv->name, tty_len)) {
|
||||
if (!kstrtoul(pdev_tty_port + tty_len, 10,
|
||||
&pdev_idx) && pdev_idx == idx) {
|
||||
platform = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user