changesets: bad cleanup when changeset loading fails
This affects 1.3-1.5 probably. If the journal is not corrupted, but fails to save a changeset (like rollbacked transfer), it is likely to crash on the next journal load. The node is correctly skipped as invalid, but the cleanup causes double free.
#0 0x00007ffff698054c in free () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00000000004152a4 in knot_free_changeset (changeset=0x7ffff000b410)
at libknot/updates/changesets.c:337
#2 knot_changesets_free (changesets=0x7ffff7fedbd0) at
libknot/updates/changesets.c:349
#3 0x0000000000413d5d in zones_journal_apply (zone=0x7ffff0004250) at
knot/server/zones.c:3079
#4 0x000000000044d3bb in update_zone (ns=0x68bdd0, conf=0x698940,
dst=0x7ffff7fedc48) at knot/server/zone-load.c:652
#5 zone_loader_thread (thread=<optimized out>) at
knot/server/zone-load.c:744