break;
case 'g':
tracing_group_name = strdup(arg);
+ if (!tracing_group_name) {
+ perror("strdup");
+ ret = -ENOMEM;
+ }
break;
case 'h':
usage();
case 'v':
/* Verbose level can increase using multiple -v */
if (arg) {
+ /* Value obtained from config file */
lttng_opt_verbose = config_parse_value(arg);
} else {
- /* Only 3 level of verbosity (-vvv). */
- if (lttng_opt_verbose < 3) {
- lttng_opt_verbose += 1;
- }
+ /* -v used on command line */
+ lttng_opt_verbose++;
}
+ /* Clamp value to [0, 3] */
+ lttng_opt_verbose = lttng_opt_verbose < 0 ? 0 :
+ (lttng_opt_verbose <= 3 ? lttng_opt_verbose : 3);
break;
case 'Z':
if (arg) {
break;
case 'u':
consumerd32_bin = strdup(arg);
+ if (!consumerd32_bin) {
+ perror("strdup");
+ ret = -ENOMEM;
+ }
consumerd32_bin_override = 1;
break;
case 'U':
consumerd32_libdir = strdup(arg);
+ if (!consumerd32_libdir) {
+ perror("strdup");
+ ret = -ENOMEM;
+ }
consumerd32_libdir_override = 1;
break;
case 't':
consumerd64_bin = strdup(arg);
+ if (!consumerd64_bin) {
+ perror("strdup");
+ ret = -ENOMEM;
+ }
consumerd64_bin_override = 1;
break;
case 'T':
consumerd64_libdir = strdup(arg);
+ if (!consumerd64_libdir) {
+ perror("strdup");
+ ret = -ENOMEM;
+ }
consumerd64_libdir_override = 1;
break;
case 'p':
opt_pidfile = strdup(arg);
+ if (!opt_pidfile) {
+ perror("strdup");
+ ret = -ENOMEM;
+ }
break;
case 'J': /* JUL TCP port. */
{
break;
case 'P': /* probe modules list */
kmod_probes_list = strdup(arg);
+ if (!kmod_probes_list) {
+ perror("strdup");
+ ret = -ENOMEM;
+ }
break;
case 'f':
/* This is handled in set_options() thus silent break. */