From 84ae950a31ef405a188661aa381b0644e679c91e Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Wed, 3 Sep 2014 14:30:11 -0500 Subject: libnm-util: tighten IPv4 and IPv6 setting index bounds checking --- libnm-util/nm-setting-ip4-config.c | 12 ++++++------ libnm-util/nm-setting-ip6-config.c | 8 ++++---- libnm-util/tests/test-general.c | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/libnm-util/nm-setting-ip4-config.c b/libnm-util/nm-setting-ip4-config.c index a2c104d536..26ce4e5a02 100644 --- a/libnm-util/nm-setting-ip4-config.c +++ b/libnm-util/nm-setting-ip4-config.c @@ -165,7 +165,7 @@ nm_setting_ip4_config_get_dns (NMSettingIP4Config *setting, guint32 i) g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), 0); priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting); - g_return_val_if_fail (i <= priv->dns->len, 0); + g_return_val_if_fail (i < priv->dns->len, 0); return g_array_index (priv->dns, guint32, i); } @@ -214,7 +214,7 @@ nm_setting_ip4_config_remove_dns (NMSettingIP4Config *setting, guint32 i) g_return_if_fail (NM_IS_SETTING_IP4_CONFIG (setting)); priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting); - g_return_if_fail (i <= priv->dns->len); + g_return_if_fail (i < priv->dns->len); g_array_remove_index (priv->dns, i); g_object_notify (G_OBJECT (setting), NM_SETTING_IP4_CONFIG_DNS); @@ -298,7 +298,7 @@ nm_setting_ip4_config_get_dns_search (NMSettingIP4Config *setting, guint32 i) g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), NULL); priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting); - g_return_val_if_fail (i <= g_slist_length (priv->dns_search), NULL); + g_return_val_if_fail (i < g_slist_length (priv->dns_search), NULL); return (const char *) g_slist_nth_data (priv->dns_search, i); } @@ -437,7 +437,7 @@ nm_setting_ip4_config_get_address (NMSettingIP4Config *setting, guint32 i) g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), NULL); priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting); - g_return_val_if_fail (i <= g_slist_length (priv->addresses), NULL); + g_return_val_if_fail (i < g_slist_length (priv->addresses), NULL); return (NMIP4Address *) g_slist_nth_data (priv->addresses, i); } @@ -450,7 +450,7 @@ nm_setting_ip4_config_get_address_label (NMSettingIP4Config *setting, guint32 i) g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), NULL); priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting); - g_return_val_if_fail (i <= g_slist_length (priv->address_labels), NULL); + g_return_val_if_fail (i < g_slist_length (priv->address_labels), NULL); return (const char *) g_slist_nth_data (priv->address_labels, i); } @@ -610,7 +610,7 @@ nm_setting_ip4_config_get_route (NMSettingIP4Config *setting, guint32 i) g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), NULL); priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting); - g_return_val_if_fail (i <= g_slist_length (priv->routes), NULL); + g_return_val_if_fail (i < g_slist_length (priv->routes), NULL); return (NMIP4Route *) g_slist_nth_data (priv->routes, i); } diff --git a/libnm-util/nm-setting-ip6-config.c b/libnm-util/nm-setting-ip6-config.c index b027ee96a9..78be7238a5 100644 --- a/libnm-util/nm-setting-ip6-config.c +++ b/libnm-util/nm-setting-ip6-config.c @@ -179,7 +179,7 @@ nm_setting_ip6_config_get_dns (NMSettingIP6Config *setting, guint32 i) g_return_val_if_fail (NM_IS_SETTING_IP6_CONFIG (setting), NULL); priv = NM_SETTING_IP6_CONFIG_GET_PRIVATE (setting); - g_return_val_if_fail (i <= g_slist_length (priv->dns), NULL); + g_return_val_if_fail (i < g_slist_length (priv->dns), NULL); return (const struct in6_addr *) g_slist_nth_data (priv->dns, i); } @@ -317,7 +317,7 @@ nm_setting_ip6_config_get_dns_search (NMSettingIP6Config *setting, guint32 i) g_return_val_if_fail (NM_IS_SETTING_IP6_CONFIG (setting), NULL); priv = NM_SETTING_IP6_CONFIG_GET_PRIVATE (setting); - g_return_val_if_fail (i <= g_slist_length (priv->dns_search), NULL); + g_return_val_if_fail (i < g_slist_length (priv->dns_search), NULL); return (const char *) g_slist_nth_data (priv->dns_search, i); } @@ -456,7 +456,7 @@ nm_setting_ip6_config_get_address (NMSettingIP6Config *setting, guint32 i) g_return_val_if_fail (NM_IS_SETTING_IP6_CONFIG (setting), NULL); priv = NM_SETTING_IP6_CONFIG_GET_PRIVATE (setting); - g_return_val_if_fail (i <= g_slist_length (priv->addresses), NULL); + g_return_val_if_fail (i < g_slist_length (priv->addresses), NULL); return (NMIP6Address *) g_slist_nth_data (priv->addresses, i); } @@ -598,7 +598,7 @@ nm_setting_ip6_config_get_route (NMSettingIP6Config *setting, guint32 i) g_return_val_if_fail (NM_IS_SETTING_IP6_CONFIG (setting), NULL); priv = NM_SETTING_IP6_CONFIG_GET_PRIVATE (setting); - g_return_val_if_fail (i <= g_slist_length (priv->routes), NULL); + g_return_val_if_fail (i < g_slist_length (priv->routes), NULL); return (NMIP6Route *) g_slist_nth_data (priv->routes, i); } diff --git a/libnm-util/tests/test-general.c b/libnm-util/tests/test-general.c index 274135680f..4734993399 100644 --- a/libnm-util/tests/test-general.c +++ b/libnm-util/tests/test-general.c @@ -2130,7 +2130,7 @@ test_setting_ip4_changed_signal (void) ASSERT_CHANGED (nm_setting_ip4_config_add_dns (s_ip4, 0x1122)); ASSERT_CHANGED (nm_setting_ip4_config_remove_dns (s_ip4, 0)); - g_test_expect_message ("libnm-util", G_LOG_LEVEL_CRITICAL, "*i <= priv->dns->len*"); + g_test_expect_message ("libnm-util", G_LOG_LEVEL_CRITICAL, "*i < priv->dns->len*"); ASSERT_UNCHANGED (nm_setting_ip4_config_remove_dns (s_ip4, 1)); g_test_assert_expected_messages (); -- cgit v1.2.1