Fix corner case found in fuzz testing.
Fix corner case found in fuzz testing.

If a new block is started with a length of zero, the count would
be subtracted leading to an integer wraparound, with the result
that the program could continue generating data indefinitely
without any input. Use a while() loop to ensure that the new
block has a size greater than zero, beginning a new block again
immediately if an empty one is encountered.

fragglet/lhasa,fragglet/lhasa,fragglet/lhasa