unarchive: fix possible segmentation fault in deb_extract()
When a not existing or unreachable file path is passed to deb_extract(),
the wfopen() call fails, causing a jump to the cleanup: label which leads
to a call to gzip_close() on the tar_outer structure.
The tar_outer structure however contains uninitialized memory at this point,
causing gzip_close() to operate on garbage data. Depending on the nature of
the unitialized memory, this might lead to all sorts of issues, e.g. freeing
of not allocated memory or invoking fclose() on garbage pointers.
Solve this problem by initializing the tar_outer and tar_inner structures
right at the declaration.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>