#define CHECK_HYPOTHESIS(offset, result) \
do { \
long q = offset; \
- if (q+4 <= len) { \
+ if (q >= 0 && q+4 <= len) { \
q = q + 4 + GET_32BIT(p+q); \
- if (q+4 <= len && (q = q + 4 + GET_32BIT(p+q)) && q == len) \
+ if (q >= 0 && q+4 <= len && \
+ (q = q + 4 + GET_32BIT(p+q)) && q == len) \
result = TRUE; \
} \
} while(0)