diff options
| author | Richard Fitzgerald <[email protected]> | 2022-04-12 16:39:27 +0000 |
|---|---|---|
| committer | Mark Brown <[email protected]> | 2022-04-12 16:57:04 +0000 |
| commit | 5b933c7262c5b0ea11ea3c3b3ea81add04895954 (patch) | |
| tree | 1e94e7eb10ac499ff298d646585ca7fd17d3fb35 /lib/debugobjects.c | |
| parent | ASoC: codecs: Fix an error handling path in (rx|tx|va)_macro_probe() (diff) | |
| download | kernel-5b933c7262c5b0ea11ea3c3b3ea81add04895954.tar.gz kernel-5b933c7262c5b0ea11ea3c3b3ea81add04895954.zip | |
firmware: cs_dsp: Fix overrun of unterminated control name string
For wmfw format v2 and later the coefficient name strings have a length
field and are NOT null-terminated. Use kasprintf() to convert the
unterminated string into a null-terminated string in an allocated buffer.
The previous code handled this duplication incorrectly using kmemdup()
and getting the length from a strlen() of the (unterminated) source string.
This resulted in creating a string that continued up to the next byte in
the firmware file that just happened to be 0x00.
Signed-off-by: Richard Fitzgerald <[email protected]>
Fixes: f6bc909e7673 ("firmware: cs_dsp: add driver to support firmware loading on Cirrus Logic DSPs")
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
Diffstat (limited to 'lib/debugobjects.c')
0 files changed, 0 insertions, 0 deletions
