[lttng-dev] [PATCH] disable_channels.c improvements and fixes

Thibault, Daniel Daniel.Thibault at drdc-rddc.gc.ca
Wed Feb 1 13:30:47 EST 2012


> >  	/* Strip channel list */
> >  	channel_name = strtok(opt_channels, ",");
> > +	/* Default to a warning in case opt_channels is empty */
> > +	ret = CMD_WARNING;
>
> Actually, at this point, opt_channels *can not* be empty. There is a check
> before calling this function.
> So, if ret is cmd_success by default, only warn==1 will be enough after this
> loop. Am I missing something ?

   Wrong.  opt_channels cannot be NULL, but it can effectively be empty.  Consider this case: 'lttng disable-channel ,,,'.  cmd_disable_channels()'s poptGetArg() will return ",,," (not NULL).  The first strtok() in disable_channels() call will return NULL straight away, and we'll skip right over the while.  Hence the default ret value.

Daniel U. Thibault
R & D pour la défense Canada - Valcartier (RDDC Valcartier) / Defence R&D Canada - Valcartier (DRDC Valcartier)
Système de systèmes (SdS) / System of Systems (SoS)
Solutions informatiques et expérimentations (SIE) / Computing Solutions and Experimentations (CSE)
2459 Boul. Pie XI Nord
Québec, QC  G3J 1X5
CANADA
Vox : (418) 844-4000 x4245
Fax : (418) 844-4538
NAC: 918V QSDJ
Gouvernement du Canada / Government of Canada
<http://www.valcartier.drdc-rddc.gc.ca/>



More information about the lttng-dev mailing list