diff options
author | 2019-02-04 18:32:31 +1100 | |
---|---|---|
committer | 2019-02-04 18:32:50 +1100 | |
commit | e6ded023720e6c264a39660b0a51602dbbbb83b4 (patch) | |
tree | 55d7cc83b1055052961cb94a2ca832b02181b0e4 | |
parent | 04f715a78dbd11d81f3055c19f53f0af3794b72f (diff) |
Add additional checks for channel count, add debug logs
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
-rw-r--r-- | src/avirt-config.c | 8 |
1 files changed, 7 insertions, 1 deletions
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; } |