about summary refs log tree commit diff
path: root/src/core/nm-core-utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/nm-core-utils.c')
-rw-r--r--src/core/nm-core-utils.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/core/nm-core-utils.c b/src/core/nm-core-utils.c
index 9075c30d..a27c50dc 100644
--- a/src/core/nm-core-utils.c
+++ b/src/core/nm-core-utils.c
@@ -1956,7 +1956,8 @@ nm_wildcard_match_check(const char *str, const char *const *patterns, guint num_
 
         _pattern_parse(patterns[i], &p, &is_inverted, &is_mandatory);
 
-        match = (fnmatch(p, str, 0) == 0);
+        match = (fnmatch(p, str ?: "", 0) == 0);
+
         if (is_inverted)
             match = !match;
 
@@ -5065,9 +5066,12 @@ nm_wifi_utils_parse_ies(const guint8 *bytes,
         case WLAN_EID_VENDOR_SPECIFIC:
             if (len == 8 && bytes[0] == 0x00 /* OUI: Microsoft */
                 && bytes[1] == 0x50 && bytes[2] == 0xf2
-                && bytes[3] == 0x11)                     /* OUI type: Network cost */
-                NM_SET_OUT(out_metered, (bytes[7] > 1)); /* Cost level > 1 */
-            if (elem_len >= 10 && bytes[0] == 0x50       /* OUI: WiFi Alliance */
+                && bytes[3] == 0x11) /* OUI type: Network cost */
+            {
+                /* https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nct/ */
+                NM_SET_OUT(out_metered, (bytes[4] > 1)); /* Cost level > 1 */
+            }
+            if (elem_len >= 10 && bytes[0] == 0x50 /* OUI: WiFi Alliance */
                 && bytes[1] == 0x6f && bytes[2] == 0x9a
                 && bytes[3] == 0x1c) /* OUI type: OWE Transition Mode */
                 NM_SET_OUT(out_owe_transition_mode, TRUE);