From e25c458b6f37c4207d27f13bd73e7582a5d0834f Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Mon, 15 Mar 2021 20:36:03 +0100 Subject: [PATCH] libnm: add _nm_setting_wired_is_valid_s390_option_value() validation function --- src/libnm-core-impl/nm-setting-wired.c | 2 +- src/libnm-core-intern/nm-core-internal.h | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/libnm-core-impl/nm-setting-wired.c b/src/libnm-core-impl/nm-setting-wired.c index af6e2eec0d..bcbf064020 100644 --- a/src/libnm-core-impl/nm-setting-wired.c +++ b/src/libnm-core-impl/nm-setting-wired.c @@ -816,7 +816,7 @@ verify(NMSetting *setting, NMConnection *connection, GError **error) NM_SETTING_WIRED_S390_OPTIONS); return FALSE; } - if (v->value_str[0] == '\0' || strlen(v->value_str) > 200u) { + if (!_nm_setting_wired_is_valid_s390_option_value(v->value_str)) { g_set_error(error, NM_CONNECTION_ERROR, NM_CONNECTION_ERROR_INVALID_PROPERTY, diff --git a/src/libnm-core-intern/nm-core-internal.h b/src/libnm-core-intern/nm-core-internal.h index 4b9d12a70f..d8e69ad831 100644 --- a/src/libnm-core-intern/nm-core-internal.h +++ b/src/libnm-core-intern/nm-core-internal.h @@ -312,6 +312,14 @@ _nm_ip_address_get_attribute_names(const NMIPAddress *addr, gboolean sorted, gui void _nm_setting_wired_clear_s390_options(NMSettingWired *setting); gboolean _nm_setting_wired_is_valid_s390_option(const char *option); +#define NM_SETTING_WIRED_S390_OPTION_MAX_LEN 200u + +static inline gboolean +_nm_setting_wired_is_valid_s390_option_value(const char *option) +{ + return option && option[0] != '\0' && strlen(option) <= NM_SETTING_WIRED_S390_OPTION_MAX_LEN; +} + gboolean _nm_ip_route_attribute_validate_all(const NMIPRoute *route, GError **error); const char ** _nm_ip_route_get_attribute_names(const NMIPRoute *route, gboolean sorted, guint *out_length);