commit - 4321cc20b2928d088d2d73ee0cb58d92e85c7811
commit + aeb5a5786f903c4fddf353eb40e5803518ac88dd
blob - 38602244dd61040c59d3cda54c5d6885507ef046
blob + b9cb509cb9873fee593543536b0fc8c8a5b486ae
--- listener.c
+++ listener.c
struct client {
uint32_t id;
uint32_t lid;
+ uint32_t msize;
int fd;
int done;
struct tls *ctx;
}
c = xcalloc(1, sizeof(*c));
+ c->msize = MSIZE9P;
c->lid = listen->id;
c->iev.ibuf.fd = -1;
"(of wich %zu already read)",
len, EVBUFFER_LENGTH(src));
+ if (len > client->msize) {
+ log_warnx("incoming message bigger than msize "
+ "(%"PRIu32" vs %"PRIu32")", len, client->msize);
+ client_error(bev, EVBUFFER_READ, client);
+ return;
+ }
+
if (len > EVBUFFER_LENGTH(src))
return;