Commit 39837e6c authored by Lev Walkin's avatar Lev Walkin

safety

parent d88bea9b
......@@ -138,4 +138,12 @@ typedef unsigned int uint32_t;
#endif /* __GNUC__ */
#endif /* MIN */
#ifndef SIZE_MAX
#define SIZE_MAX ULONG_MAX
#endif
#ifndef RSIZE_MAX /* C11, Annex K */
#define RSIZE_MAX (SIZE_MAX >> 1)
#endif
#endif /* ASN_SYSTEM_H */
......@@ -57,6 +57,9 @@ oer_fetch_length(const void *bufptr, size_t size, size_t *len_r) {
len = (len << 8) + *b;
}
if(len > RSIZE_MAX) /* A bit of C11 validation */
return -1;
*len_r = len;
assert(len_len + 1 == bend - (const uint8_t *)bufptr);
return len_len + 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment