On 2020-08-31 19:57, Jaroslav Kysela wrote:
Dne 31. 08. 20 v 13:11 Jaroslav Kysela napsal(a):
Dne 31. 08. 20 v 11:08 Piotr Maziarz napsal(a):
This series fixes various problems with topology decoding mechanism. Some of the problems were critical like improper memory management or infinite loops that were causing undefined behaviour or program crashes, while other resulted in losing some data during conversion.
Bugs found while testing with Intel SST topologies.
Thank you for this work. I applied all patches to the alsa-lib repository. I dislike the last one - dynamic allocation for each printf(), but I applied it until we found a better solution.
We may use the dynamic allocation only when the printf is bigger than the 1024 bytes threshold (and keep the small buffer on stack otherwise) or create 'dst' structure which will carry the output buffer point and the temporary buffer pointer which will be freed when the output is finished.
I implemented the later suggestion in:
https://github.com/alsa-project/alsa-lib/commit/472ab5db67a0ed04de634214773e...
There are also other fixes in the topology library. It would be nice, if you can give a test.
Thank you, Jaroslav
I've tested your changes on a bunch of our topologies, everything works fine. Thanks for merge and update.
Best Regards, Piotr