IOMUX: Fix buffer overflow in iomux_replace_device()

Use of strcat() against an uninitialized buffer would lead
to buffer overflow. This patch fixes it.

Fixes: 694cd5618c ("IOMUX: Introduce iomux_replace_device()")
Signed-off-by: Yuichiro Goto <goto@k-tech.co.jp>
Cc: Peter Robinson <pbrobinson@gmail.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
This commit is contained in:
Yuichiro Goto 2021-04-26 08:08:03 +09:00 committed by Tom Rini
parent 230bc623a4
commit 77ed7a2ac9

View File

@ -158,8 +158,12 @@ int iomux_replace_device(const int console, const char *old, const char *new)
return -ENOMEM;
}
strcat(tmp, ",");
strcat(tmp, name);
if (arg) {
strcat(tmp, ",");
strcat(tmp, name);
}
else
strcpy(tmp, name);
arg = tmp;
size = strlen(tmp) + 1;