It looks as if we are not handling the case of a truncated hintfile. That is, it could be truncated in the middle of a hint record, which would trigger the 'more' case below, then come back here with EOI=true and some unprocessed bytes. That should return an incomplete_hint error too. Or am I missing something?