mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-28 15:40:10 +01:00
libnm: don't reject empty strings in add/remove API
For example for NM_SETTING_CONNECTION_SECONDARIES, the user can set the GObject property to a string list that includes empty strings. The C accessors (add/remove-by-value) should also accept any strings that are accepted otherwise. Asserting against empty strings is wrong. If the setting wants to reject empty strings, then it should use verify().
This commit is contained in:
parent
46533cd15f
commit
92136135ad
2 changed files with 10 additions and 20 deletions
|
|
@ -809,8 +809,7 @@ nm_setting_connection_add_secondary(NMSettingConnection *setting, const char *se
|
|||
GSList * iter;
|
||||
|
||||
g_return_val_if_fail(NM_IS_SETTING_CONNECTION(setting), FALSE);
|
||||
g_return_val_if_fail(sec_uuid != NULL, FALSE);
|
||||
g_return_val_if_fail(sec_uuid[0] != '\0', FALSE);
|
||||
g_return_val_if_fail(sec_uuid, FALSE);
|
||||
|
||||
priv = NM_SETTING_CONNECTION_GET_PRIVATE(setting);
|
||||
for (iter = priv->secondaries; iter; iter = g_slist_next(iter)) {
|
||||
|
|
@ -863,8 +862,7 @@ nm_setting_connection_remove_secondary_by_value(NMSettingConnection *setting, co
|
|||
GSList * iter;
|
||||
|
||||
g_return_val_if_fail(NM_IS_SETTING_CONNECTION(setting), FALSE);
|
||||
g_return_val_if_fail(sec_uuid != NULL, FALSE);
|
||||
g_return_val_if_fail(sec_uuid[0] != '\0', FALSE);
|
||||
g_return_val_if_fail(sec_uuid, FALSE);
|
||||
|
||||
priv = NM_SETTING_CONNECTION_GET_PRIVATE(setting);
|
||||
for (iter = priv->secondaries; iter; iter = g_slist_next(iter)) {
|
||||
|
|
|
|||
|
|
@ -96,8 +96,7 @@ void
|
|||
nm_setting_match_add_interface_name(NMSettingMatch *setting, const char *interface_name)
|
||||
{
|
||||
g_return_if_fail(NM_IS_SETTING_MATCH(setting));
|
||||
g_return_if_fail(interface_name != NULL);
|
||||
g_return_if_fail(interface_name[0] != '\0');
|
||||
g_return_if_fail(interface_name);
|
||||
|
||||
nm_strvarray_add(nm_strvarray_ensure(&setting->interface_name), interface_name);
|
||||
_notify(setting, PROP_INTERFACE_NAME);
|
||||
|
|
@ -138,8 +137,7 @@ gboolean
|
|||
nm_setting_match_remove_interface_name_by_value(NMSettingMatch *setting, const char *interface_name)
|
||||
{
|
||||
g_return_val_if_fail(NM_IS_SETTING_MATCH(setting), FALSE);
|
||||
g_return_val_if_fail(interface_name != NULL, FALSE);
|
||||
g_return_val_if_fail(interface_name[0] != '\0', FALSE);
|
||||
g_return_val_if_fail(interface_name, FALSE);
|
||||
|
||||
if (nm_strvarray_remove_first(setting->interface_name, interface_name)) {
|
||||
_notify(setting, PROP_INTERFACE_NAME);
|
||||
|
|
@ -241,8 +239,7 @@ void
|
|||
nm_setting_match_add_kernel_command_line(NMSettingMatch *setting, const char *kernel_command_line)
|
||||
{
|
||||
g_return_if_fail(NM_IS_SETTING_MATCH(setting));
|
||||
g_return_if_fail(kernel_command_line != NULL);
|
||||
g_return_if_fail(kernel_command_line[0] != '\0');
|
||||
g_return_if_fail(kernel_command_line);
|
||||
|
||||
nm_strvarray_add(nm_strvarray_ensure(&setting->kernel_command_line), kernel_command_line);
|
||||
_notify(setting, PROP_KERNEL_COMMAND_LINE);
|
||||
|
|
@ -284,8 +281,7 @@ nm_setting_match_remove_kernel_command_line_by_value(NMSettingMatch *setting,
|
|||
const char * kernel_command_line)
|
||||
{
|
||||
g_return_val_if_fail(NM_IS_SETTING_MATCH(setting), FALSE);
|
||||
g_return_val_if_fail(kernel_command_line != NULL, FALSE);
|
||||
g_return_val_if_fail(kernel_command_line[0] != '\0', FALSE);
|
||||
g_return_val_if_fail(kernel_command_line, FALSE);
|
||||
|
||||
if (nm_strvarray_remove_first(setting->kernel_command_line, kernel_command_line)) {
|
||||
_notify(setting, PROP_KERNEL_COMMAND_LINE);
|
||||
|
|
@ -383,8 +379,7 @@ void
|
|||
nm_setting_match_add_driver(NMSettingMatch *setting, const char *driver)
|
||||
{
|
||||
g_return_if_fail(NM_IS_SETTING_MATCH(setting));
|
||||
g_return_if_fail(driver != NULL);
|
||||
g_return_if_fail(driver[0] != '\0');
|
||||
g_return_if_fail(driver);
|
||||
|
||||
nm_strvarray_add(nm_strvarray_ensure(&setting->driver), driver);
|
||||
_notify(setting, PROP_DRIVER);
|
||||
|
|
@ -425,8 +420,7 @@ gboolean
|
|||
nm_setting_match_remove_driver_by_value(NMSettingMatch *setting, const char *driver)
|
||||
{
|
||||
g_return_val_if_fail(NM_IS_SETTING_MATCH(setting), FALSE);
|
||||
g_return_val_if_fail(driver != NULL, FALSE);
|
||||
g_return_val_if_fail(driver[0] != '\0', FALSE);
|
||||
g_return_val_if_fail(driver, FALSE);
|
||||
|
||||
if (nm_strvarray_remove_first(setting->driver, driver)) {
|
||||
_notify(setting, PROP_DRIVER);
|
||||
|
|
@ -524,8 +518,7 @@ void
|
|||
nm_setting_match_add_path(NMSettingMatch *setting, const char *path)
|
||||
{
|
||||
g_return_if_fail(NM_IS_SETTING_MATCH(setting));
|
||||
g_return_if_fail(path != NULL);
|
||||
g_return_if_fail(path[0] != '\0');
|
||||
g_return_if_fail(path);
|
||||
|
||||
nm_strvarray_add(nm_strvarray_ensure(&setting->path), path);
|
||||
_notify(setting, PROP_PATH);
|
||||
|
|
@ -566,8 +559,7 @@ gboolean
|
|||
nm_setting_match_remove_path_by_value(NMSettingMatch *setting, const char *path)
|
||||
{
|
||||
g_return_val_if_fail(NM_IS_SETTING_MATCH(setting), FALSE);
|
||||
g_return_val_if_fail(path != NULL, FALSE);
|
||||
g_return_val_if_fail(path[0] != '\0', FALSE);
|
||||
g_return_val_if_fail(path, FALSE);
|
||||
|
||||
if (nm_strvarray_remove_first(setting->path, path)) {
|
||||
_notify(setting, PROP_PATH);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue