diff --git a/src/openvpn/push.c b/src/openvpn/push.c index 5f5755ab..22494340 100644 --- a/src/openvpn/push.c +++ b/src/openvpn/push.c @@ -242,8 +242,14 @@ server_pushed_info(struct context *c, const struct buffer *buffer, * for management greeting and we don't want to confuse the client */ struct buffer out = alloc_buf_gc(256, &gc); - buf_printf(&out, ">%s:%s", "INFOMSG", m); - management_notify_generic(management, BSTR(&out)); + if (buf_printf(&out, ">%s:%s", "INFOMSG", m)) + { + management_notify_generic(management, BSTR(&out)); + } + else + { + msg(D_PUSH_ERRORS, "WARNING: Received INFO command is too long, won't notify management client."); + } gc_free(&gc); }