summaryrefslogtreecommitdiffstats
path: root/nserver/src/ncmd.c
diff options
context:
space:
mode:
authorrsiddharth <s@ricketyspace.net>2019-12-23 21:02:39 -0500
committerrsiddharth <s@ricketyspace.net>2020-04-17 20:56:36 -0400
commit33159496912aa5e65314a73941f191c06fe3d581 (patch)
tree6d6efebc9d5e3e1d1dae156c6a92dcefa688f0c1 /nserver/src/ncmd.c
parent8c164789ee0e7cbfc745f568791cd830bdebcd89 (diff)
nserver: Update check_cmd.
* nserver/src/ncmd.c (check_cmd): Add argument err. * nserver/src/ncmd.h (check_cmd): Update function declaration. * nserver/tests/ncmd_tests.c (test_check_cmd): Update test.
Diffstat (limited to 'nserver/src/ncmd.c')
-rw-r--r--nserver/src/ncmd.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/nserver/src/ncmd.c b/nserver/src/ncmd.c
index ee6f9df..3a20db2 100644
--- a/nserver/src/ncmd.c
+++ b/nserver/src/ncmd.c
@@ -20,10 +20,9 @@ int sanitize(char *cmd)
return -1;
}
-char *check_cmd(char *cmd)
+int check_cmd(char *cmd, char *err)
{
- char *err = NULL;
-
+ check_mem(err);
check(cmd != NULL, "cmd is NULL");
int rc = sanitize(cmd);
@@ -31,19 +30,21 @@ char *check_cmd(char *cmd)
size_t len = strlen(cmd);
if (len >= CMD_MIN_SIZE && len <= CMD_MAX_SIZE) {
- return NULL;
+ return 0;
}
if (len == 0) {
- err = "closing connection\n";
+ strncpy(err, "closing connection\n", RSP_SIZE);
+ return -1;
} else {
- err = "command size invalid\n";
+ strncpy(err, "command size invalid\n", RSP_SIZE);
+ return -1;
}
- return err;
+ return 0;
error:
- err = "internal error\n";
- return err;
+ strncpy(err, "internal error\n", RSP_SIZE);
+ return -1;
}