libnm-core: fix crash in NMSettingAdsl:verify()
Signed-off-by: Thomas Haller <thaller@redhat.com>
This commit is contained in:
@@ -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,
|
||||||
|
@@ -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,
|
||||||
|
@@ -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) {
|
||||||
|
@@ -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)) {
|
||||||
|
Reference in New Issue
Block a user