| 644 | #define _IS_OVERSIZE(start, length, limit_s, limit_sz) (((length) + (rt_size_t)((char *)(start) - (char *)(limit_start))) > (limit_size)) |
| 645 | |
| 646 | static inline int _not_in_range(rt_size_t flags, void *start, rt_size_t length, |
| 647 | void *limit_start, rt_size_t limit_size) |
| 648 | { |
| 649 | /* assuming (base + length) will not overflow except (0) */ |
| 650 | int rc = (flags & MMF_MAP_FIXED || start != RT_NULL) |
| 651 | ? (_IS_OVERFLOW(start, length) || start < limit_start || |
| 652 | _IS_OVERSIZE(start, length, limit_start, limit_size)) |
| 653 | : length > limit_size; |
| 654 | if (rc) |
| 655 | LOG_D("%s: [%p : %p] [%p : %p]", __func__, start, length, limit_start, limit_size); |
| 656 | return rc; |
| 657 | } |
| 658 | |
| 659 | static inline int _not_align(void *start, rt_size_t length, rt_size_t mask) |
| 660 | { |
no outgoing calls
no test coverage detected