The agent's engine_id forgot to dup from trash, all engine_ids point to
the same address "&trash.area", the engine_id changed at run time and will
double free when release agents and trash.
This bug was introduced by the commit
ee3bcddef ("MINOR: tools: add a generic
function to generate UUIDs").
No backport is needed, this is 2.2-dev.
generate_pseudo_uuid()
{
ha_generate_uuid(&trash);
- return trash.area;
+ return my_strndup(trash.area, trash.data);
}