Found by static analyzer svace
Static analyzer message: Integer value 'len' obtained from untrusted
source at tube.c:374 by passing as 2nd parameter to function 'read'
at tube.c:340 without checking its higher bound is used as a loop bound
at tube.c:374.
on-behalf-of: @ideco-team <github@ideco.ru>
}
d += r;
}
- log_assert(*len < 65536*2);
+ if (*len >= 65536*2) {
+ log_err("tube msg length is too big", *len);
+ (void)fd_set_nonblock(fd);
+ return 0;
+ }
*buf = (uint8_t*)malloc(*len);
if(!*buf) {
log_err("tube read out of memory");