Check for too-small item loc.Length.
Avoid bytes.NewBuffer() during itemLoc.read().

Also, don't read value bytes if it's unneeded.