mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-27 03:30:09 +01:00
libnm-util: remove assert to nm_utils_ip4_netmask_to_prefix
Commit 240c92ddb5 added an assert
to check that the input netmask is valid. Revert that commit for
the most part, some changes to the test function are not reverted.
We don't want to assert for a valid netmask, because it's
common to read the netmask from (untrusted) user input, so we
don't want to assert against it.
The caller *could* validate the netmask from untrusted sources, but
with the assert in place it cannot validate it in the most obvious way:
prefix = nm_utils_ip4_netmask_to_prefix (netmask);
if (netmask != nm_utils_ip4_prefix_to_netmask (prefix))
goto fail;
Signed-off-by: Thomas Haller <thaller@redhat.com>
This commit is contained in:
parent
45a326d9c7
commit
2f67105a91
2 changed files with 0 additions and 10 deletions
|
|
@ -1084,11 +1084,6 @@ nm_utils_ip4_netmask_to_prefix (guint32 netmask)
|
|||
v <<= 1;
|
||||
}
|
||||
|
||||
/* Assert that caller provided a valid netmask, without "holes" and all the
|
||||
* first @prefix bits set.
|
||||
**/
|
||||
g_return_val_if_fail (netmask == nm_utils_ip4_prefix_to_netmask (prefix), prefix);
|
||||
|
||||
return prefix;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1780,16 +1780,11 @@ test_ip4_netmask_to_prefix (void)
|
|||
if (netmask_holey == netmask)
|
||||
continue;
|
||||
|
||||
(void) prefix_holey;
|
||||
#if GLIB_CHECK_VERSION(2,34,0)
|
||||
/* create an invalid netmask with holes and check that the function
|
||||
* returns the longest prefix and logs an assert. */
|
||||
g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, "nm_utils_ip4_netmask_to_prefix: assertion 'netmask == nm_utils_ip4_prefix_to_netmask (prefix)' failed");
|
||||
prefix_holey = nm_utils_ip4_netmask_to_prefix (netmask_holey);
|
||||
g_test_assert_expected_messages ();
|
||||
|
||||
g_assert_cmpint (i, ==, prefix_holey);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue