fix tlv.c

This commit is contained in:
merlokk 2018-11-14 19:26:19 +02:00
parent 5e3fa42c23
commit 46769838f2

View file

@ -92,16 +92,15 @@ static size_t tlv_parse_len(const unsigned char **buf, size_t *len)
return l; return l;
size_t ll = l &~ TLV_LEN_LONG; size_t ll = l &~ TLV_LEN_LONG;
if (*len < ll) if (ll > 5)
return TLV_LEN_INVALID; return TLV_LEN_INVALID;
/* FIXME */ l = 0;
if (ll != 1) for (int i = 1; i <= ll; i++) {
return TLV_LEN_INVALID; l = (l << 8) + **buf;
l = **buf;
--*len; --*len;
++*buf; ++*buf;
}
return l; return l;
} }