From 25c97817d2ff4c62bacd46eade061d408eb50b20 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Thu, 30 Mar 2023 20:44:42 +0200 Subject: [PATCH] ovsdb: limit maxiumum data size for receive buffer from ovsdb --- src/core/devices/ovs/nm-ovsdb.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/core/devices/ovs/nm-ovsdb.c b/src/core/devices/ovs/nm-ovsdb.c index 0e10aa2f0..dc8bf289f 100644 --- a/src/core/devices/ovs/nm-ovsdb.c +++ b/src/core/devices/ovs/nm-ovsdb.c @@ -2431,6 +2431,12 @@ again: } if (priv->input_buf.len > 0) { + if (priv->input_buf.len > 50 * 1024 * 1024) { + _LOGW("received too much data from ovsdb that is not valid JSON"); + priv->num_failures++; + ovsdb_disconnect(self, priv->num_failures <= OVSDB_MAX_FAILURES, FALSE); + return; + } /* We have an incomplete message in the message buffer. Don't wait for another round * of "poll", instead try to read it again. */ goto again;