raise DecodeError("unfinished tag")
if indexbytes(data, i) & 0x80 == 0:
break
+ if i == 1 and indexbytes(data, 1) < 0x1F:
+ raise DecodeError("unexpected long form")
if i > 1 and indexbytes(data, 1) & 0x7F == 0:
raise DecodeError("leading zero byte in tag value")
i += 1