Using DESTROY_IF() this way doesn't correctly check if the pointer
is set.
Fixes: 7ffeed01c0d7 ("ike-rekey: Remove collision task type checks")
"ignore");
break;
}
- DESTROY_IF(&this->collision->public.task);
+ if (this->collision)
+ {
+ this->collision->public.task.destroy(&this->collision->public.task);
+ }
this->collision = rekey;
return TRUE;
}
cur_sa = charon->bus->get_sa(charon->bus);
DESTROY_IF(this->new_sa);
charon->bus->set_sa(charon->bus, cur_sa);
- DESTROY_IF(&this->collision->public.task);
+ if (this->collision)
+ {
+ this->collision->public.task.destroy(&this->collision->public.task);
+ }
}
METHOD(task_t, migrate, void,