Fix: Properly sanitize input parameter
[lttng-tools.git] / src / bin / lttng / commands / enable_channels.c
index 9a990030d5023ff38f0b984f1329f32e5feb849f..ac8f8e63bf7f6edb016ae26f5dcbfcb23f675d74 100644 (file)
@@ -212,7 +212,7 @@ static int enable_channel(char *session_name)
        channel_name = strtok(opt_channels, ",");
        while (channel_name != NULL) {
                /* Validate channel name's length */
-               if (strlen(channel_name) >= NAME_MAX) {
+               if (strlen(channel_name) >= sizeof(chan.name)) {
                        ERR("Channel name is too long (max. %zu characters)",
                                        sizeof(chan.name) - 1);
                        error = 1;
@@ -330,6 +330,7 @@ int cmd_enable_channels(int argc, const char **argv)
        static poptContext pc;
        char *session_name = NULL;
        char *opt_arg = NULL;
+       const char *leftover = NULL;
 
        init_channel_config();
 
@@ -545,6 +546,14 @@ int cmd_enable_channels(int argc, const char **argv)
                goto mi_closing;
        }
 
+       leftover = poptGetArg(pc);
+       if (leftover) {
+               ERR("Unknown argument: %s", leftover);
+               ret = CMD_ERROR;
+               success = 0;
+               goto mi_closing;
+       }
+
        if (!opt_session_name) {
                session_name = get_session_name();
                if (session_name == NULL) {
This page took 0.024846 seconds and 4 git commands to generate.