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.
Signed-off-by: Piotr Maziarz piotrx.maziarz@linux.intel.com Reviewed-by: Cezary Rojewski cezary.rojewski@intel.com Reviewed-by: Amadeusz Sławiński amadeuszx.slawinski@linux.intel.com Reviewed-by: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com
Changelog: v2: -Divide into more patches, critical fixes are in separate patches now -More specific descriptions -Fix a typo UML to UCM -Add error reporting in topology: decode: fix channel map memory allocation -Remove goto again in topology: Make buffer for saving dynamic size for better readability
v3: -No functional changes -Changed UCM to more descriptive standard ALSA configuration files -removed Gerrit's Change-Id -Added missing signed-offs
v4: -Resend, added Reviewed-by tags
Piotr Maziarz (10): topology: decode: Fix channel map memory allocation topology: decode: Fix infinite loop in decoding enum control topology: decode: Remove decoding values for enum control topology: decode: Add enum control texts as separate element topology: decode: Fix printing texts section topology: decode: Change declaration of enum decoding function topology: decode: Fix decoding PCM formats and rates topology: decode: Print sig_bits field in PCM capabilities section topology: decode: Add DAI name printing topology: Make buffer for saving dynamic size
src/topology/ctl.c | 51 ++++++++++++++++++++++------------------------- src/topology/dapm.c | 3 +-- src/topology/pcm.c | 11 +++++++--- src/topology/save.c | 34 ++++++++++++++++++++++++++----- src/topology/text.c | 2 +- src/topology/tplg_local.h | 2 +- 6 files changed, 64 insertions(+), 39 deletions(-)