summaryrefslogtreecommitdiff
path: root/libnm-core/nm-setting-vpn.c
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2020-03-26 12:47:37 +0100
committerThomas Haller <thaller@redhat.com>2020-04-04 19:51:34 +0200
commit68328e0f2146e467f530519931cdd2e84f63bacf (patch)
treed9429842a3c536af5ebf6a26c3eada4ce6f2adef /libnm-core/nm-setting-vpn.c
parent40e2603d4c9bad6c2b17725bd08ef0b75950e741 (diff)
downloadNetworkManager-68328e0f2146e467f530519931cdd2e84f63bacf.tar.gz
libnm: fail get_secret_flags(),set_secret_flags() for empty secret name in NMSettingVpn
Diffstat (limited to 'libnm-core/nm-setting-vpn.c')
-rw-r--r--libnm-core/nm-setting-vpn.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/libnm-core/nm-setting-vpn.c b/libnm-core/nm-setting-vpn.c
index a4a2afd5ff..6d255b5c8e 100644
--- a/libnm-core/nm-setting-vpn.c
+++ b/libnm-core/nm-setting-vpn.c
@@ -715,6 +715,14 @@ get_secret_flags (NMSetting *setting,
const char *flags_val;
gint64 i64;
+ nm_assert (secret_name);
+
+ if (!secret_name[0]) {
+ g_set_error (error, NM_CONNECTION_ERROR, NM_CONNECTION_ERROR_PROPERTY_NOT_SECRET,
+ _("secret name cannot be empty"));
+ return FALSE;
+ }
+
flags_key = nm_construct_name_a ("%s-flags", secret_name, &flags_key_free);
if (!g_hash_table_lookup_extended (priv->data, flags_key, NULL, (gpointer *) &flags_val)) {
@@ -755,6 +763,14 @@ set_secret_flags (NMSetting *setting,
NMSettingSecretFlags flags,
GError **error)
{
+ nm_assert (secret_name);
+
+ if (!secret_name[0]) {
+ g_set_error (error, NM_CONNECTION_ERROR, NM_CONNECTION_ERROR_PROPERTY_NOT_SECRET,
+ _("secret name cannot be empty"));
+ return FALSE;
+ }
+
g_hash_table_insert (NM_SETTING_VPN_GET_PRIVATE (setting)->data,
g_strdup_printf ("%s-flags", secret_name),
g_strdup_printf ("%u", flags));