Commit 93682631 authored by Lev Walkin's avatar Lev Walkin

introduce RSSIZE_MAX to set maximum of ssize_t

parent 1a364656
...@@ -145,5 +145,8 @@ typedef unsigned int uint32_t; ...@@ -145,5 +145,8 @@ typedef unsigned int uint32_t;
#ifndef RSIZE_MAX /* C11, Annex K */ #ifndef RSIZE_MAX /* C11, Annex K */
#define RSIZE_MAX (SIZE_MAX >> 1) #define RSIZE_MAX (SIZE_MAX >> 1)
#endif #endif
#ifndef RSSIZE_MAX /* Halve signed size even further than unsigned */
#define RSSIZE_MAX ((ssize_t)(RSIZE_MAX >> 1))
#endif
#endif /* ASN_SYSTEM_H */ #endif /* ASN_SYSTEM_H */
...@@ -50,7 +50,7 @@ ber_fetch_length(int _is_constructed, const void *bufptr, size_t size, ...@@ -50,7 +50,7 @@ ber_fetch_length(int _is_constructed, const void *bufptr, size_t size,
} }
if(oct == 0) { if(oct == 0) {
if(len < 0 || len > RSIZE_MAX) { if(len < 0 || len > RSSIZE_MAX) {
/* Length value out of sane range. */ /* Length value out of sane range. */
return -1; return -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