main() allocated `buffer` and `dict` with malloc() and never freed them,
neither on success nor on any of the five error paths.
LeakSanitizer reports 133118 bytes leaked in 2 allocations.
Route all exits through a single `_end` label that frees both buffers.
Checked with gcc -fsanitize=address,undefined: no leak reported, on the
success path and on a forced error path.
The recently added test decompress-partial-usingDict
tends to fail for unknown reasons,
more frequently under the combination for clang-9 + `-mx32`.
There is a suspicion that the test is using too much stack.
Fixing that, + adding traces, to get more information if it fails again.