injected 4 bugs into protocol:

Encode bugs:
- incorrectly add only 1 to the encoded_length per run
- allow current_length to reach 256 when computing encoded_length
Decode bugs:
- forget to initialize decoded_length
- mismatch between spec/comment and code: length should be before
  character

None of the comments are buggy.