ifupdown: fix crash for wireless-ssid setting (debian #513852)

This commit is contained in:
Alexander Sack
2009-03-03 12:55:58 -05:00
committed by Dan Williams
parent dcd503a631
commit 89278327ee

View File

@@ -153,9 +153,20 @@ update_wireless_setting_from_if_block(NMConnection *connection,
const gchar* newkey = map_by_mapping(mapping, curr->key+wireless_l); const gchar* newkey = map_by_mapping(mapping, curr->key+wireless_l);
PLUGIN_PRINT ("SCPlugin-Ifupdown", "wireless setting key: %s='%s'", PLUGIN_PRINT ("SCPlugin-Ifupdown", "wireless setting key: %s='%s'",
newkey, curr->data); newkey, curr->data);
g_object_set(wireless_setting, if(newkey && !strcmp("ssid", newkey)) {
GByteArray *ssid;
gint len = strlen(curr->data);
ssid = g_byte_array_sized_new (len);
g_byte_array_append (ssid, (const guint8 *) curr->data, len);
g_object_set (wireless_setting, NM_SETTING_WIRELESS_SSID, ssid, NULL);
g_byte_array_free (ssid, TRUE);
PLUGIN_PRINT("SCPlugin-Ifupdown", "setting wireless ssid = %d", len);
} else {
g_object_set(wireless_setting,
newkey, curr->data, newkey, curr->data,
NULL); NULL);
}
} else if(strlen(curr->key) > wpa_l && } else if(strlen(curr->key) > wpa_l &&
!strncmp("wpa-", curr->key, wpa_l)) { !strncmp("wpa-", curr->key, wpa_l)) {
const gchar* newkey = map_by_mapping(mapping, curr->key+wpa_l); const gchar* newkey = map_by_mapping(mapping, curr->key+wpa_l);