int i = 0;
char str[LTTNG_SYMBOL_NAME_LEN];
- while (i < LTTNG_SYMBOL_NAME_LEN && inputstr[i] != '\0') {
+ /*
+ * Loop up to LTTNG_SYMBOL_NAME_LEN minus one because the NULL bytes is
+ * added at the end of the loop so a the upper bound we avoid the overflow.
+ */
+ while (i < (LTTNG_SYMBOL_NAME_LEN - 1) && inputstr[i] != '\0') {
str[i] = toupper(inputstr[i]);
i++;
}
} else if (opt_userspace) {
dom.type = LTTNG_DOMAIN_UST;
/* Default. */
- dom.buf_type = LTTNG_BUFFER_PER_PID;
+ dom.buf_type = LTTNG_BUFFER_PER_UID;
} else {
ERR("Please specify a tracer (-k/--kernel or -u/--userspace)");
ret = CMD_ERROR;
ret = lttng_enable_event_with_filter(handle, &ev, channel_name,
opt_filter);
if (ret < 0) {
- fprintf(stderr, "Ret filter: %d\n", ret);
switch (-ret) {
case LTTNG_ERR_FILTER_EXIST:
WARN("Filter on events is already enabled"
break;
case LTTNG_ERR_FILTER_INVAL:
case LTTNG_ERR_FILTER_NOMEM:
- ERR("%s", lttng_strerror(ret));
default:
- ERR("Setting filter: '%s'", opt_filter);
+ ERR("%s", lttng_strerror(ret));
break;
}
goto error;
int opt, ret = CMD_SUCCESS;
static poptContext pc;
char *session_name = NULL;
+ int event_type = -1;
pc = poptGetContext(NULL, argc, argv, long_options, 0);
poptReadDefaultConfig(pc, 0);
ret = CMD_UNDEFINED;
goto end;
}
+
+ /* Validate event type. Multiple event type are not supported. */
+ if (event_type == -1) {
+ event_type = opt_event_type;
+ } else {
+ if (event_type != opt_event_type) {
+ ERR("Multiple event type not supported.");
+ ret = CMD_ERROR;
+ goto end;
+ }
+ }
}
opt_event_list = (char*) poptGetArg(pc);