decode

Validates length and tags before allocating the owned fragment.