diff options
author | Thomas Haller <thaller@redhat.com> | 2016-09-23 11:16:48 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2016-09-27 10:56:57 +0200 |
commit | 146e0d23bc6a0f148c654003a43c9bab0e93f9f6 (patch) | |
tree | 17145aecc56a465d230507355b97690c609550fe /libnm-core/nm-setting-team-port.c | |
parent | 32f78ae6c3baea7f2a90664fc676e73b236a4372 (diff) | |
download | NetworkManager-146e0d23bc6a0f148c654003a43c9bab0e93f9f6.tar.gz |
libnm: reject too large team-config JSON
Diffstat (limited to 'libnm-core/nm-setting-team-port.c')
-rw-r--r-- | libnm-core/nm-setting-team-port.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libnm-core/nm-setting-team-port.c b/libnm-core/nm-setting-team-port.c index 649d958273..f64aa5f947 100644 --- a/libnm-core/nm-setting-team-port.c +++ b/libnm-core/nm-setting-team-port.c @@ -117,6 +117,16 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) } if (priv->config) { + if (strlen (priv->config) > 1*1024*1024) { + g_set_error (error, NM_CONNECTION_ERROR, NM_CONNECTION_ERROR_INVALID_PROPERTY, + _("team config exceeds size limit")); + g_prefix_error (error, + "%s.%s: ", + NM_SETTING_TEAM_PORT_SETTING_NAME, + NM_SETTING_TEAM_PORT_CONFIG); + return FALSE; + } + if (!nm_utils_is_json_object (priv->config, error)) { g_prefix_error (error, "%s.%s: ", |