]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
of: module: add buffer overflow check in of_modalias()
authorSergey Shtylyov <s.shtylyov@omp.ru>
Sun, 14 Apr 2024 08:51:39 +0000 (11:51 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 May 2025 07:39:41 +0000 (09:39 +0200)
commitc7f24b7d94549ff4623e8f41ea4d9f5319bd8ac8
treeb628544dbb21b4038ce0f6c9ac4526483832179f
parentcc826a9e1e4e76d71281792200691ae76d228c4d
of: module: add buffer overflow check in of_modalias()

commit cf7385cb26ac4f0ee6c7385960525ad534323252 upstream.

In of_modalias(), if the buffer happens to be too small even for the 1st
snprintf() call, the len parameter will become negative and str parameter
(if not NULL initially) will point beyond the buffer's end. Add the buffer
overflow check after the 1st snprintf() call and fix such check after the
strlen() call (accounting for the terminating NUL char).

Fixes: bc575064d688 ("of/device: use of_property_for_each_string to parse compatible strings")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
Link: https://lore.kernel.org/r/bbfc6be0-c687-62b6-d015-5141b93f313e@omp.ru
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: "Uwe Kleine-König" <ukleinek@debian.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/of/device.c