aboutsummaryrefslogtreecommitdiff
path: root/src/protocol.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocol.c')
-rw-r--r--src/protocol.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/protocol.c b/src/protocol.c
index c528759..d9019ba 100644
--- a/src/protocol.c
+++ b/src/protocol.c
@@ -176,6 +176,12 @@ char *protocol_handle_line(sqlite3 *db, const char *line, size_t len)
}
{
+ char verr[512];
+ if (cmd->nargs &&
+ command_validate_args(cmd, r.args, verr, sizeof verr) != 0) {
+ add_error(rdoc, resp, "INVALID_ARGS", verr, NULL);
+ goto done;
+ }
yyjson_mut_val *result = cmd->fn(&r);
if (!result) {
add_error(rdoc, resp, r.err_code ? r.err_code : "INTERNAL",