libnm-core: fix crash in NMSettingAdsl:verify()

Signed-off-by: Thomas Haller <thaller@redhat.com>
This commit is contained in:
Thomas Haller
2014-08-13 01:46:53 +02:00
parent 645ab39bb6
commit 25aa0a0705
4 changed files with 18 additions and 14 deletions

View File

@@ -225,20 +225,22 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
return FALSE; return FALSE;
} }
if (strcmp (priv->protocol, NM_SETTING_ADSL_PROTOCOL_PPPOA) && if ( !priv->protocol
strcmp (priv->protocol, NM_SETTING_ADSL_PROTOCOL_PPPOE) && || ( strcmp (priv->protocol, NM_SETTING_ADSL_PROTOCOL_PPPOA)
strcmp (priv->protocol, NM_SETTING_ADSL_PROTOCOL_IPOATM)) { && strcmp (priv->protocol, NM_SETTING_ADSL_PROTOCOL_PPPOE)
&& strcmp (priv->protocol, NM_SETTING_ADSL_PROTOCOL_IPOATM))){
g_set_error (error, g_set_error (error,
NM_SETTING_ADSL_ERROR, NM_SETTING_ADSL_ERROR,
NM_SETTING_ADSL_ERROR_INVALID_PROPERTY, NM_SETTING_ADSL_ERROR_INVALID_PROPERTY,
_("'%s' is not a valid value for the property"), _("'%s' is not a valid value for the property"),
priv->protocol); priv->protocol ? priv->protocol : "(null)");
g_prefix_error (error, "%s.%s: ", NM_SETTING_ADSL_SETTING_NAME, NM_SETTING_ADSL_PROTOCOL); g_prefix_error (error, "%s.%s: ", NM_SETTING_ADSL_SETTING_NAME, NM_SETTING_ADSL_PROTOCOL);
return FALSE; return FALSE;
} }
if (strcmp (priv->encapsulation, NM_SETTING_ADSL_ENCAPSULATION_VCMUX) && if ( priv->encapsulation
strcmp (priv->encapsulation, NM_SETTING_ADSL_ENCAPSULATION_LLC) ) { && ( strcmp (priv->encapsulation, NM_SETTING_ADSL_ENCAPSULATION_VCMUX)
&& strcmp (priv->encapsulation, NM_SETTING_ADSL_ENCAPSULATION_LLC) )) {
g_set_error (error, g_set_error (error,
NM_SETTING_ADSL_ERROR, NM_SETTING_ADSL_ERROR,
NM_SETTING_ADSL_ERROR_INVALID_PROPERTY, NM_SETTING_ADSL_ERROR_INVALID_PROPERTY,

View File

@@ -226,20 +226,22 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
return FALSE; return FALSE;
} }
if (strcmp (priv->protocol, NM_SETTING_ADSL_PROTOCOL_PPPOA) && if ( !priv->protocol
strcmp (priv->protocol, NM_SETTING_ADSL_PROTOCOL_PPPOE) && || ( strcmp (priv->protocol, NM_SETTING_ADSL_PROTOCOL_PPPOA)
strcmp (priv->protocol, NM_SETTING_ADSL_PROTOCOL_IPOATM)) { && strcmp (priv->protocol, NM_SETTING_ADSL_PROTOCOL_PPPOE)
&& strcmp (priv->protocol, NM_SETTING_ADSL_PROTOCOL_IPOATM))){
g_set_error (error, g_set_error (error,
NM_SETTING_ADSL_ERROR, NM_SETTING_ADSL_ERROR,
NM_SETTING_ADSL_ERROR_INVALID_PROPERTY, NM_SETTING_ADSL_ERROR_INVALID_PROPERTY,
_("'%s' is not a valid value for the property"), _("'%s' is not a valid value for the property"),
priv->protocol); priv->protocol ? priv->protocol : "(null)");
g_prefix_error (error, "%s.%s: ", NM_SETTING_ADSL_SETTING_NAME, NM_SETTING_ADSL_PROTOCOL); g_prefix_error (error, "%s.%s: ", NM_SETTING_ADSL_SETTING_NAME, NM_SETTING_ADSL_PROTOCOL);
return FALSE; return FALSE;
} }
if (strcmp (priv->encapsulation, NM_SETTING_ADSL_ENCAPSULATION_VCMUX) && if ( priv->encapsulation
strcmp (priv->encapsulation, NM_SETTING_ADSL_ENCAPSULATION_LLC) ) { && ( strcmp (priv->encapsulation, NM_SETTING_ADSL_ENCAPSULATION_VCMUX)
&& strcmp (priv->encapsulation, NM_SETTING_ADSL_ENCAPSULATION_LLC) )) {
g_set_error (error, g_set_error (error,
NM_SETTING_ADSL_ERROR, NM_SETTING_ADSL_ERROR,
NM_SETTING_ADSL_ERROR_INVALID_PROPERTY, NM_SETTING_ADSL_ERROR_INVALID_PROPERTY,

View File

@@ -257,7 +257,7 @@ br2684_assign_vcc (NMDeviceAdsl *self, NMSettingAdsl *s_adsl)
_LOGD (LOGD_ADSL, "assigning address %d.%d.%d encapsulation %s", _LOGD (LOGD_ADSL, "assigning address %d.%d.%d encapsulation %s",
priv->atm_index, addr.sap_addr.vpi, addr.sap_addr.vci, priv->atm_index, addr.sap_addr.vpi, addr.sap_addr.vci,
encapsulation); encapsulation ? encapsulation : "(none)");
err = connect (priv->brfd, (struct sockaddr*) &addr, sizeof (addr)); err = connect (priv->brfd, (struct sockaddr*) &addr, sizeof (addr));
if (err != 0) { if (err != 0) {

View File

@@ -992,7 +992,7 @@ create_pppd_cmd_line (NMPPPManager *self,
if (g_strcmp0 (encaps, NM_SETTING_ADSL_ENCAPSULATION_LLC) == 0) if (g_strcmp0 (encaps, NM_SETTING_ADSL_ENCAPSULATION_LLC) == 0)
nm_cmd_line_add_string (cmd, "llc-encaps"); nm_cmd_line_add_string (cmd, "llc-encaps");
else if (g_strcmp0 (encaps, NM_SETTING_ADSL_ENCAPSULATION_VCMUX) == 0) else /*if (g_strcmp0 (encaps, NM_SETTING_ADSL_ENCAPSULATION_VCMUX) == 0)*/
nm_cmd_line_add_string (cmd, "vc-encaps"); nm_cmd_line_add_string (cmd, "vc-encaps");
} else if (!strcmp (protocol, NM_SETTING_ADSL_PROTOCOL_PPPOE)) { } else if (!strcmp (protocol, NM_SETTING_ADSL_PROTOCOL_PPPOE)) {