Update unpack-pbp.c

Optimized buffer allocation - the memory only needs to be allocated once, allocating and freeing 16 MB in every iteration is an unnecessary performance penalty. Ensured that memory always gets freed (others copy-paste the main function blindly for use in their programs and don't free the memory). Changes are unfortunately untested.