X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng%2Fcommands%2Fenable_events.c;h=f6bae4874266863e3de6c20350565ad1dc4e0523;hb=875b29bfdafecb38a552264b0775478eaef0cae1;hp=6889b63d73eb12cacc8db055c4bd0d2a0bcc1fd1;hpb=b9e1aca71d29731a651a6cabced299d7488c3724;p=lttng-tools.git diff --git a/src/bin/lttng/commands/enable_events.c b/src/bin/lttng/commands/enable_events.c index 6889b63d7..f6bae4874 100644 --- a/src/bin/lttng/commands/enable_events.c +++ b/src/bin/lttng/commands/enable_events.c @@ -143,7 +143,7 @@ static int parse_probe_opts(struct lttng_event *ev, char *opt) } /* Check for symbol */ - if (isalpha(name[0])) { + if (isalpha(name[0]) || name[0] == '_') { match = sscanf(opt, "%" LTTNG_SYMBOL_NAME_LEN_SCANF_IS_A_BROKEN_API "s", name); if (match == 1) { @@ -160,8 +160,13 @@ static int parse_probe_opts(struct lttng_event *ev, char *opt) /* Check for address */ match = sscanf(opt, "%" S_HEX_LEN_SCANF_IS_A_BROKEN_API "s", s_hex); if (match > 0) { - if (*s_hex == '\0') { - ERR("Invalid probe address %s", s_hex); + /* + * Return an error if the first character of the tentative + * address is NULL or not a digit. It can be "0" if the address + * is in hexadecimal and can be 1 to 9 if it's in decimal. + */ + if (*s_hex == '\0' || !isdigit(*s_hex)) { + ERR("Invalid probe description %s", s_hex); ret = CMD_ERROR; goto end; }