palloc0 instead of being lazy

Actually, I guess I could have kept using the VariantDataInt trick and
memsetting. I suppose I should do that because it’d be faster…
Be more careful with lengths

Fixes some data length bugs