From e6ded023720e6c264a39660b0a51602dbbbb83b4 Mon Sep 17 00:00:00 2001 From: Mark Farrugia Date: Mon, 4 Feb 2019 18:32:31 +1100 Subject: Add additional checks for channel count, add debug logs Signed-off-by: Mark Farrugia --- src/avirt-config.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/avirt-config.c b/src/avirt-config.c index 7a993ad..0f92540 100644 --- a/src/avirt-config.c +++ b/src/avirt-config.c @@ -309,6 +309,12 @@ int snd_avirt_stream_new(const char *name, unsigned int channels, int direction, char path[AVIRT_CONFIGFS_PATH_MAXLEN]; char path_attr[AVIRT_CONFIGFS_PATH_MAXLEN]; + if ((channels > __INT_MAX__) || (channels == 0)) + { + AVIRT_ERROR_V("Channels '%d' is out of range!", channels); + return -ERANGE; + } + IS_CONFIGFS_MOUNTED(); // Check if card is already sealed @@ -362,7 +368,7 @@ int snd_avirt_stream_new(const char *name, unsigned int channels, int direction, AVIRT_DEBUG("No map specified!"); } - AVIRT_DEBUG_V("Created stream: %s", name); + AVIRT_DEBUG_V("Created stream: %s, map: %s, chans: %d", name, map, channels); return 0; } -- cgit 1.2.3-korg