aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Farrugia <mark.farrugia@fiberdyne.com.au>2019-02-04 18:32:31 +1100
committerMark Farrugia <mark.farrugia@fiberdyne.com.au>2019-02-04 18:32:50 +1100
commite6ded023720e6c264a39660b0a51602dbbbb83b4 (patch)
tree55d7cc83b1055052961cb94a2ca832b02181b0e4
parent04f715a78dbd11d81f3055c19f53f0af3794b72f (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.c8
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;
}