X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=command.c;h=1810e5b1f0eb6793a97370604431569431566e2c;hb=4d5a9b90c3e9cbdff019776d05792beb57fbfa31;hp=e3b15a5ae0e44985a6279ac2f8e137d19fb3c9be;hpb=af2dd94bcaaaa8fbdc3301caf0acea97c07b9b93;p=paraslash.git diff --git a/command.c b/command.c index e3b15a5a..1810e5b1 100644 --- a/command.c +++ b/command.c @@ -307,8 +307,13 @@ int com_stat(int fd, int argc, char * const * argv) para_sigaction(SIGUSR1, dummy); - if (argc > 1) - num = atoi(argv[1]); + if (argc > 2) + return -E_COMMAND_SYNTAX; + if (argc > 1) { + ret = para_atoi32(argv[1], &num); + if (ret < 0) + goto out; + } for (;;) { mmd_dup(nmmd); @@ -382,10 +387,8 @@ int com_help(int fd, int argc, char * const * argv) } /* argument given for help */ cmd = get_cmd_ptr(argv[1], &handler); - if (!cmd) { - free(handler); + if (!cmd) return -E_BAD_CMD; - } perms = cmd_perms_itohuman(cmd->perms); ret = send_va_buffer(fd, "%s - %s\n\n"