summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorLen Ovens <len@ovenwerks.net>2017-10-12 13:18:21 -0700
committerLen Ovens <len@ovenwerks.net>2017-10-12 13:18:21 -0700
commitf0f822feff4721f71ddf732bb87714a084fb2f5c (patch)
tree714d99375dc563e485e5bef44d9fd3a9b59d85dc /libs
parent5c24db24020fc37a4c7fb52ffa7777c0a12fbe37 (diff)
OSC: fix crash for wrong number of parameters in set_surface
Diffstat (limited to 'libs')
-rw-r--r--libs/surfaces/osc/osc.cc12
1 files changed, 6 insertions, 6 deletions
diff --git a/libs/surfaces/osc/osc.cc b/libs/surfaces/osc/osc.cc
index bcf364ad9d..9cebb403df 100644
--- a/libs/surfaces/osc/osc.cc
+++ b/libs/surfaces/osc/osc.cc
@@ -1428,42 +1428,42 @@ OSC::surface_parse (const char *path, const char* types, lo_arg **argv, int argc
int bank_size = sur->bank_size;
- if (!strncmp (path, "/set_surface/feedback", 21)) {
+ if (argc == 1 && !strncmp (path, "/set_surface/feedback", 21)) {
if (types[0] == 'f') {
ret = set_surface_feedback ((int)argv[0]->f, msg);
} else {
ret = set_surface_feedback (argv[0]->i, msg);
}
}
- else if (!strncmp (path, "/set_surface/bank_size", 22)) {
+ else if (argc == 1 && !strncmp (path, "/set_surface/bank_size", 22)) {
if (types[0] == 'f') {
ret = set_surface_bank_size ((int)argv[0]->f, msg);
} else {
ret = set_surface_bank_size (argv[0]->i, msg);
}
}
- else if (!strncmp (path, "/set_surface/gainmode", 21)) {
+ else if (argc == 1 && !strncmp (path, "/set_surface/gainmode", 21)) {
if (types[0] == 'f') {
ret = set_surface_gainmode ((int)argv[0]->f, msg);
} else {
ret = set_surface_gainmode (argv[0]->i, msg);
}
}
- else if (!strncmp (path, "/set_surface/strip_types", 24)) {
+ else if (argc == 1 && !strncmp (path, "/set_surface/strip_types", 24)) {
if (types[0] == 'f') {
ret = set_surface_strip_types ((int)argv[0]->f, msg);
} else {
ret = set_surface_strip_types (argv[0]->i, msg);
}
}
- else if (!strncmp (path, "/set_surface/send_page_size", 27)) {
+ else if (argc == 1 && !strncmp (path, "/set_surface/send_page_size", 27)) {
if (types[0] == 'f') {
ret = sel_send_pagesize ((int)argv[0]->f, msg);
} else {
ret = sel_send_pagesize (argv[0]->i, msg);
}
}
- else if (!strncmp (path, "/set_surface/plugin_page_size", 29)) {
+ else if (argc == 1 && !strncmp (path, "/set_surface/plugin_page_size", 29)) {
if (types[0] == 'f') {
ret = sel_plug_pagesize ((int)argv[0]->f, msg);
} else {