Dive list: fix crash on dive import

In commit 8c2383b495 dive merging was
changed to not modify the original dive. On import, dives were then
merged and the original deleted. The merge_weightsystem_info() was
not adapted accordingly (deep copy of string instead of pointer),
leading to a use-after-free crash.

Resolve this by doing a deep copy.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2018-10-15 12:27:35 +02:00 committed by Dirk Hohndel
parent 604d563a87
commit 471fc1dfc8

View file

@ -2130,7 +2130,8 @@ static void merge_weightsystem_info(weightsystem_t *res, const weightsystem_t *a
{
if (!a->weight.grams)
a = b;
*res = *a;
res->weight = a->weight;
res->description = copy_string(a->description);
}
/* get_cylinder_idx_by_use(): Find the index of the first cylinder with a particular CCR use type.