mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-26 11:10:09 +01:00
merge: fix all defects found by coverity (bgo #741122)
https://bugzilla.gnome.org/show_bug.cgi?id=741122
This commit is contained in:
commit
fa94aaf3a5
12 changed files with 79 additions and 51 deletions
|
|
@ -5256,6 +5256,7 @@ cleanup_olpc:
|
|||
add_ip4_address_to_connection (ip4addr, connection);
|
||||
}
|
||||
|
||||
/* coverity[dead_error_begin] */
|
||||
if (gw4) {
|
||||
NMSettingIPConfig *s_ip = nm_connection_get_setting_ip4_config (connection);
|
||||
|
||||
|
|
@ -5288,6 +5289,7 @@ cleanup_olpc:
|
|||
add_ip6_address_to_connection (ip6addr, connection);
|
||||
}
|
||||
|
||||
/* coverity[dead_error_begin] */
|
||||
if (gw6) {
|
||||
NMSettingIPConfig *s_ip = nm_connection_get_setting_ip6_config (connection);
|
||||
|
||||
|
|
|
|||
|
|
@ -510,13 +510,10 @@ nmc_string_is_valid (const char *input, const char **allowed, GError **error)
|
|||
finish:
|
||||
if (ret == NULL) {
|
||||
char *valid_vals = g_strjoinv (", ", (char **) allowed);
|
||||
if (!input || !*input) {
|
||||
g_set_error (error, 1, 0, _("missing name, try one of [%s]"),
|
||||
valid_vals);
|
||||
} else {
|
||||
g_set_error (error, 1, 0, _("'%s' not among [%s]"),
|
||||
input ? input : "", valid_vals);
|
||||
}
|
||||
if (!input || !*input)
|
||||
g_set_error (error, 1, 0, _("missing name, try one of [%s]"), valid_vals);
|
||||
else
|
||||
g_set_error (error, 1, 0, _("'%s' not among [%s]"), input, valid_vals);
|
||||
|
||||
g_free (valid_vals);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -945,6 +945,39 @@ nmtst_assert_connection_unnormalizable (NMConnection *con,
|
|||
g_clear_error (&error);
|
||||
}
|
||||
|
||||
inline static void
|
||||
nmtst_assert_setting_verifies (NMSetting *setting)
|
||||
{
|
||||
/* assert that the setting verifies without an error */
|
||||
|
||||
GError *error = NULL;
|
||||
gboolean success;
|
||||
|
||||
g_assert (NM_IS_SETTING (setting));
|
||||
|
||||
success = nm_setting_verify (setting, NULL, &error);
|
||||
g_assert_no_error (error);
|
||||
g_assert (success);
|
||||
}
|
||||
|
||||
inline static void
|
||||
nmtst_assert_setting_verify_fails (NMSetting *setting,
|
||||
GQuark expect_error_domain,
|
||||
gint expect_error_code)
|
||||
{
|
||||
/* assert that the setting verification fails */
|
||||
|
||||
GError *error = NULL;
|
||||
gboolean success;
|
||||
|
||||
g_assert (NM_IS_SETTING (setting));
|
||||
|
||||
success = nm_setting_verify (setting, NULL, &error);
|
||||
nmtst_assert_error (error, expect_error_domain, expect_error_code, NULL);
|
||||
g_assert (!success);
|
||||
g_clear_error (&error);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __NM_UTILS_H__
|
||||
|
|
|
|||
|
|
@ -223,7 +223,8 @@ nm_setting_vlan_add_priority_str (NMSettingVlan *setting,
|
|||
list = get_map (setting, map);
|
||||
|
||||
item = priority_map_new_from_str (map, str);
|
||||
g_return_val_if_fail (item != NULL, FALSE);
|
||||
if (!item)
|
||||
g_return_val_if_reached (FALSE);
|
||||
|
||||
/* Duplicates get replaced */
|
||||
for (iter = list; iter; iter = g_slist_next (iter)) {
|
||||
|
|
|
|||
|
|
@ -2054,7 +2054,9 @@ nm_utils_rsa_key_encrypt (const guint8 *data,
|
|||
goto out;
|
||||
|
||||
key = crypto_make_des_aes_key (CIPHER_DES_EDE3_CBC, &salt[0], salt_len, in_password, &key_len, NULL);
|
||||
g_return_val_if_fail (key, NULL);
|
||||
if (!key)
|
||||
g_return_val_if_reached (NULL);
|
||||
|
||||
enc = crypto_encrypt (CIPHER_DES_EDE3_CBC, data, len, salt, salt_len, key, key_len, &enc_len, error);
|
||||
if (!enc)
|
||||
goto out;
|
||||
|
|
|
|||
|
|
@ -345,8 +345,7 @@ test_setting_ip4_config_labels (void)
|
|||
|
||||
nm_setting_ip_config_add_address (s_ip4, addr);
|
||||
nm_ip_address_unref (addr);
|
||||
nm_setting_verify (NM_SETTING (s_ip4), NULL, &error);
|
||||
g_assert_no_error (error);
|
||||
nmtst_assert_setting_verifies (NM_SETTING (s_ip4));
|
||||
|
||||
addr = nm_setting_ip_config_get_address (s_ip4, 0);
|
||||
label = nm_ip_address_get_attribute (addr, "label");
|
||||
|
|
@ -378,8 +377,7 @@ test_setting_ip4_config_labels (void)
|
|||
|
||||
nm_setting_ip_config_add_address (s_ip4, addr);
|
||||
nm_ip_address_unref (addr);
|
||||
nm_setting_verify (NM_SETTING (s_ip4), NULL, &error);
|
||||
g_assert_no_error (error);
|
||||
nmtst_assert_setting_verifies (NM_SETTING (s_ip4));
|
||||
|
||||
addr = nm_setting_ip_config_get_address (s_ip4, 1);
|
||||
label = nm_ip_address_get_attribute (addr, "label");
|
||||
|
|
@ -393,8 +391,7 @@ test_setting_ip4_config_labels (void)
|
|||
|
||||
nm_setting_ip_config_add_address (s_ip4, addr);
|
||||
nm_ip_address_unref (addr);
|
||||
nm_setting_verify (NM_SETTING (s_ip4), NULL, &error);
|
||||
g_assert_no_error (error);
|
||||
nmtst_assert_setting_verifies (NM_SETTING (s_ip4));
|
||||
|
||||
addr = nm_setting_ip_config_get_address (s_ip4, 2);
|
||||
label = nm_ip_address_get_attribute (addr, "label");
|
||||
|
|
@ -402,8 +399,7 @@ test_setting_ip4_config_labels (void)
|
|||
|
||||
/* Remove addr 1 and re-verify remaining addresses */
|
||||
nm_setting_ip_config_remove_address (s_ip4, 0);
|
||||
nm_setting_verify (NM_SETTING (s_ip4), NULL, &error);
|
||||
g_assert_no_error (error);
|
||||
nmtst_assert_setting_verifies (NM_SETTING (s_ip4));
|
||||
|
||||
addr = nm_setting_ip_config_get_address (s_ip4, 0);
|
||||
g_assert_cmpstr (nm_ip_address_get_address (addr), ==, "2.2.2.2");
|
||||
|
|
@ -514,8 +510,7 @@ test_setting_ip4_config_labels (void)
|
|||
NM_SETTING_IP_CONFIG_ADDRESSES, addrs,
|
||||
NULL);
|
||||
g_ptr_array_unref (addrs);
|
||||
nm_setting_verify (NM_SETTING (s_ip4), NULL, &error);
|
||||
g_assert_no_error (error);
|
||||
nmtst_assert_setting_verifies (NM_SETTING (s_ip4));
|
||||
g_assert_cmpint (nm_setting_ip_config_get_num_addresses (s_ip4), ==, 2);
|
||||
|
||||
addr = nm_setting_ip_config_get_address (s_ip4, 0);
|
||||
|
|
@ -555,8 +550,7 @@ test_setting_ip4_config_address_data (void)
|
|||
|
||||
nm_setting_ip_config_add_address (s_ip4, addr);
|
||||
nm_ip_address_unref (addr);
|
||||
nm_setting_verify (NM_SETTING (s_ip4), NULL, &error);
|
||||
g_assert_no_error (error);
|
||||
nmtst_assert_setting_verifies (NM_SETTING (s_ip4));
|
||||
|
||||
/* addr 2 */
|
||||
addr = nm_ip_address_new (AF_INET, "2.2.2.2", 24, &error);
|
||||
|
|
@ -564,8 +558,7 @@ test_setting_ip4_config_address_data (void)
|
|||
|
||||
nm_setting_ip_config_add_address (s_ip4, addr);
|
||||
nm_ip_address_unref (addr);
|
||||
nm_setting_verify (NM_SETTING (s_ip4), NULL, &error);
|
||||
g_assert_no_error (error);
|
||||
nmtst_assert_setting_verifies (NM_SETTING (s_ip4));
|
||||
|
||||
/* The client-side D-Bus serialization should include the attributes in
|
||||
* "address-data", and should not have an "addresses" property.
|
||||
|
|
@ -722,8 +715,6 @@ static void
|
|||
test_setting_gsm_apn_underscore (void)
|
||||
{
|
||||
NMSettingGsm *s_gsm;
|
||||
GError *error = NULL;
|
||||
gboolean success;
|
||||
|
||||
s_gsm = (NMSettingGsm *) nm_setting_gsm_new ();
|
||||
g_assert (s_gsm);
|
||||
|
|
@ -732,30 +723,23 @@ test_setting_gsm_apn_underscore (void)
|
|||
|
||||
/* 65-character long */
|
||||
g_object_set (s_gsm, NM_SETTING_GSM_APN, "foobar_baz", NULL);
|
||||
success = nm_setting_verify (NM_SETTING (s_gsm), NULL, &error);
|
||||
g_assert_no_error (error);
|
||||
g_assert (success == TRUE);
|
||||
nmtst_assert_setting_verifies (NM_SETTING (s_gsm));
|
||||
}
|
||||
|
||||
static void
|
||||
test_setting_gsm_without_number (void)
|
||||
{
|
||||
NMSettingGsm *s_gsm;
|
||||
GError *error = NULL;
|
||||
gboolean success;
|
||||
|
||||
s_gsm = (NMSettingGsm *) nm_setting_gsm_new ();
|
||||
g_assert (s_gsm);
|
||||
|
||||
g_object_set (s_gsm, NM_SETTING_GSM_NUMBER, NULL, NULL);
|
||||
success = nm_setting_verify (NM_SETTING (s_gsm), NULL, &error);
|
||||
g_assert_no_error (error);
|
||||
g_assert (success == TRUE);
|
||||
nmtst_assert_setting_verifies (NM_SETTING (s_gsm));
|
||||
|
||||
g_object_set (s_gsm, NM_SETTING_GSM_NUMBER, "", NULL);
|
||||
success = nm_setting_verify (NM_SETTING (s_gsm), NULL, &error);
|
||||
g_assert_error (error, NM_CONNECTION_ERROR, NM_CONNECTION_ERROR_INVALID_PROPERTY);
|
||||
g_error_free (error);
|
||||
nmtst_assert_setting_verify_fails (NM_SETTING (s_gsm), NM_CONNECTION_ERROR,
|
||||
NM_CONNECTION_ERROR_INVALID_PROPERTY);
|
||||
}
|
||||
|
||||
static NMSettingWirelessSecurity *
|
||||
|
|
@ -3009,9 +2993,7 @@ test_setting_802_1x_changed_signal (void)
|
|||
static void
|
||||
test_setting_old_uuid (void)
|
||||
{
|
||||
GError *error = NULL;
|
||||
NMSetting *setting;
|
||||
gboolean success;
|
||||
|
||||
/* NetworkManager-0.9.4.0 generated 40-character UUIDs with no dashes,
|
||||
* like this one. Test that we maintain compatibility. */
|
||||
|
|
@ -3024,9 +3006,7 @@ test_setting_old_uuid (void)
|
|||
NM_SETTING_CONNECTION_TYPE, NM_SETTING_WIRED_SETTING_NAME,
|
||||
NULL);
|
||||
|
||||
success = nm_setting_verify (NM_SETTING (setting), NULL, &error);
|
||||
g_assert_no_error (error);
|
||||
g_assert (success == TRUE);
|
||||
nmtst_assert_setting_verifies (NM_SETTING (setting));
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ test_client_new (void)
|
|||
NMClient *client;
|
||||
DBusGConnection *bus;
|
||||
GError *error = NULL;
|
||||
gboolean success;
|
||||
|
||||
bus = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
|
||||
g_assert_no_error (error);
|
||||
|
|
@ -60,8 +61,9 @@ test_client_new (void)
|
|||
|
||||
dbus_g_connection_unref (bus);
|
||||
|
||||
g_initable_init (G_INITABLE (client), NULL, &error);
|
||||
success = g_initable_init (G_INITABLE (client), NULL, &error);
|
||||
g_assert_no_error (error);
|
||||
g_assert (success == TRUE);
|
||||
|
||||
return client;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -260,7 +260,8 @@ nm_setting_vlan_add_priority_str (NMSettingVlan *setting,
|
|||
list = get_map (setting, map);
|
||||
|
||||
item = priority_map_new_from_str (map, str);
|
||||
g_return_val_if_fail (item != NULL, FALSE);
|
||||
if (!item)
|
||||
g_return_val_if_reached (FALSE);
|
||||
|
||||
/* Duplicates get replaced */
|
||||
for (iter = list; iter; iter = g_slist_next (iter)) {
|
||||
|
|
|
|||
|
|
@ -90,6 +90,7 @@ test_device_added (void)
|
|||
/* Tell the test service to add a new device */
|
||||
nm_test_service_add_device (sinfo, client, "AddWiredDevice", "eth0");
|
||||
|
||||
/* coverity[loop_condition] */
|
||||
while (!notified)
|
||||
g_main_context_iteration (NULL, TRUE);
|
||||
|
||||
|
|
@ -188,6 +189,7 @@ test_device_added_signal_after_init (void)
|
|||
|
||||
/* Ensure the 'device-added' signal doesn't show up before
|
||||
* the 'Devices' property change notification */
|
||||
/* coverity[loop_condition] */
|
||||
while (!(result & SIGNAL_MASK) && !(result & NOTIFY_MASK))
|
||||
g_main_context_iteration (NULL, TRUE);
|
||||
|
||||
|
|
|
|||
|
|
@ -5037,16 +5037,18 @@ send_arps (NMDevice *self, const char *mode_arg)
|
|||
|
||||
for (i = 0; i < num; i++) {
|
||||
gs_free char *tmp_str = NULL;
|
||||
gboolean success;
|
||||
|
||||
addr = nm_setting_ip_config_get_address (s_ip4, i);
|
||||
argv[ip_arg] = nm_ip_address_get_address (addr);
|
||||
|
||||
_LOGD (LOGD_DEVICE | LOGD_IP4,
|
||||
"arping: run %s", (tmp_str = g_strjoinv (" ", (char **) argv)));
|
||||
g_spawn_async (NULL, (char **) argv, NULL,
|
||||
G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL,
|
||||
nm_unblock_posix_signals,
|
||||
NULL, NULL, &error);
|
||||
if (error) {
|
||||
success = g_spawn_async (NULL, (char **) argv, NULL,
|
||||
G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL,
|
||||
nm_unblock_posix_signals,
|
||||
NULL, NULL, &error);
|
||||
if (!success) {
|
||||
_LOGW (LOGD_DEVICE | LOGD_IP4,
|
||||
"arping: could not send ARP for local address %s: %s",
|
||||
argv[ip_arg], error->message);
|
||||
|
|
|
|||
|
|
@ -671,10 +671,12 @@ plugin_set_hostname (SCPluginIfcfg *plugin, const char *hostname)
|
|||
#if HAVE_SELINUX
|
||||
security_context_t se_ctx_prev = NULL, se_ctx = NULL;
|
||||
struct stat file_stat = { .st_mode = 0 };
|
||||
mode_t st_mode = 0;
|
||||
|
||||
/* Get default context for HOSTNAME_FILE and set it for fscreate */
|
||||
stat (HOSTNAME_FILE, &file_stat);
|
||||
matchpathcon (HOSTNAME_FILE, file_stat.st_mode, &se_ctx);
|
||||
if (stat (HOSTNAME_FILE, &file_stat) == 0)
|
||||
st_mode = file_stat.st_mode;
|
||||
matchpathcon (HOSTNAME_FILE, st_mode, &se_ctx);
|
||||
matchpathcon_fini ();
|
||||
getfscreatecon (&se_ctx_prev);
|
||||
setfscreatecon (se_ctx);
|
||||
|
|
|
|||
|
|
@ -137,7 +137,10 @@ test_nm_utils_kill_child_create_and_join_pgroup (void)
|
|||
g_assert (err == 0);
|
||||
|
||||
pgid = fork();
|
||||
g_assert (pgid >= 0);
|
||||
if (pgid < 0) {
|
||||
g_assert_not_reached ();
|
||||
return pgid;
|
||||
}
|
||||
|
||||
if (pgid == 0) {
|
||||
/* child process... */
|
||||
|
|
@ -299,6 +302,7 @@ test_nm_utils_kill_child (void)
|
|||
|
||||
g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING, "*kill child process 'test-a-3-0' (*): unexpected error sending Unexpected signal: Invalid argument (22)");
|
||||
g_test_expect_message ("NetworkManager", G_LOG_LEVEL_DEBUG, "*kill child process 'test-a-3-0' (*): invoke callback: killing child failed");
|
||||
/* coverity[negative_returns] */
|
||||
test_nm_utils_kill_child_async_do ("test-a-3-0", pid3a, -1, 1000 / 2, FALSE, NULL);
|
||||
|
||||
g_test_expect_message ("NetworkManager", G_LOG_LEVEL_DEBUG, "*kill child process 'test-a-3-1' (*): wait for process to terminate after sending SIGTERM (15) (send SIGKILL in 500 milliseconds)...");
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue