[strongSwan-dev] Possible bug in task_manager.c
Tobias Brunner
tobias at strongswan.org
Thu Oct 6 14:17:22 CEST 2011
Hi Howard,
> In the initiate method in the "initiating already active tasks" part at
> the end . The switch statement sets up the "exchange" variable according
> to the task type. For the case IKE_MOBIKE: there is no break after
> setting the exchange, line 408 in the git repository version. This will
> cause the control flow to drop into the default case and go around the
> while loop again.
Yep, looks like a bug. Since the order in which the tasks are
queued/activated is pretty much fixed, there is rarely a task following
an IKE_MOBIKE task (it certainly is never one of the other cases in that
switch block). Thus, the behavior won't change with an additional
break, it will just save a few loop cycles, occasionally. Fixed in [1].
Thanks a lot for reviewing the code and reporting this.
Regards,
Tobias
[1] http://git.strongswan.org/?p=strongswan.git;a=commitdiff;h=d46f8575
More information about the Dev
mailing list