X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/dbe6c525a19dc7b52ff9f6bfb1f64da7579689d3..d9d006d5c2265a2e7f177c776c5edb51f21cbc80:/proxy.c diff --git a/proxy.c b/proxy.c index 169be0d1..d970b2bf 100644 --- a/proxy.c +++ b/proxy.c @@ -161,10 +161,14 @@ static void sk_proxy_set_frozen (Socket s, int is_frozen) */ while (!ps->freeze && bufchain_size(&ps->pending_input_data) > 0) { void *data; + char databuf[512]; int len; bufchain_prefix(&ps->pending_input_data, &data, &len); - plug_receive(ps->plug, 0, data, len); + if (len > lenof(databuf)) + len = lenof(databuf); + memcpy(databuf, data, len); bufchain_consume(&ps->pending_input_data, len); + plug_receive(ps->plug, 0, databuf, len); } /* if we're still frozen, we'll have to wait for another