[PATCH] ASoC: SOF: debug: Fix a potential issue on string buffer termination
Hui Wang
hui.wang at canonical.com
Mon Feb 8 11:14:11 CET 2021
On 2/8/21 5:32 PM, Kai Vehmanen wrote:
> Hi,
>
> On Mon, 8 Feb 2021, Hui Wang wrote:
>
>> The function simple_write_to_buffer() doesn't add string termination
>> at the end of buf, we need to add it on our own if calling that
>> function to write the size of count chars to buf. This change refers
>> to the function tokenize_input() in debug.c and the function
>> sof_dfsentry_trace_filter_write() in trace.c.
> [...]
>> --- a/sound/soc/sof/debug.c
>> +++ b/sound/soc/sof/debug.c
>> @@ -352,9 +352,10 @@ static ssize_t sof_dfsentry_write(struct file *file, const char __user *buffer,
>> char *string;
>> int ret;
>>
>> - string = kzalloc(count, GFP_KERNEL);
>> + string = kzalloc(count+1, GFP_KERNEL);
> ouch, good catch, thanks! We have this correct in soc/sof/trace.c, but not
> here. To keep up with kernel style, maybe:
>
> + string = kzalloc(count + 1, GFP_KERNEL);
>
>> if (!string)
>> return -ENOMEM;
>> + string[count] = '\0';
> kzalloc() returns zeros, so no need for this.
Right, Other places use kmalloc(), here kzalloc() doesn't need to set 0.
Will drop it in the v2.
Thanks.
Hui.
>
> Br, Kai
More information about the Alsa-devel
mailing list