summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiří Klimeš <jklimes@redhat.com>2014-12-12 14:31:27 +0100
committerThomas Haller <thaller@redhat.com>2014-12-16 21:47:01 +0100
commit85b24e4eedee094cb501bceb4eabfee88a799b00 (patch)
treef222759c19976393725937f6f3aa3ab311128c43
parent3034fe9f4d33c0bdd4f8998495fdee260ea27069 (diff)
downloadNetworkManager-85b24e4eedee094cb501bceb4eabfee88a799b00.tar.gz
libnm-core: mute coverity for RESOURCE_LEAK (CWE-772) in g_return_val_if_fail()
Error: RESOURCE_LEAK (CWE-772): [#def10] NetworkManager-0.9.11.0/libnm-core/nm-setting-vlan.c:225: alloc_fn: Storage is returned from allocation function "priority_map_new_from_str". NetworkManager-0.9.11.0/libnm-core/nm-setting-vlan.c:154:4: alloc_fn: Storage is returned from allocation function "g_malloc0". NetworkManager-0.9.11.0/libnm-core/nm-setting-vlan.c:154:4: var_assign: Assigning: "p" = "g_malloc0(8UL)". NetworkManager-0.9.11.0/libnm-core/nm-setting-vlan.c:164:2: return_alloc: Returning allocated memory "p". NetworkManager-0.9.11.0/libnm-core/nm-setting-vlan.c:225: var_assign: Assigning: "item" = storage returned from "priority_map_new_from_str(map, str)". NetworkManager-0.9.11.0/libnm-core/nm-setting-vlan.c:226: leaked_storage: Variable "item" going out of scope leaks the storage it points to. Error: RESOURCE_LEAK (CWE-772): [#def11] NetworkManager-0.9.11.0/libnm-core/nm-utils.c:2056: alloc_fn: Storage is returned from allocation function "crypto_make_des_aes_key". NetworkManager-0.9.11.0/libnm-core/crypto.c:405:2: alloc_fn: Storage is returned from allocation function "g_malloc0". NetworkManager-0.9.11.0/libnm-core/crypto.c:405:2: var_assign: Assigning: "key" = "g_malloc0(digest_len + 1U)". NetworkManager-0.9.11.0/libnm-core/crypto.c:407:2: noescape: Resource "key" is not freed or pointed-to in function "crypto_md5_hash". NetworkManager-0.9.11.0/libnm-core/crypto.c:769:24: noescape: "crypto_md5_hash(char const *, gssize, char const *, gssize, char *, gsize)" does not free or save its pointer parameter "buffer". NetworkManager-0.9.11.0/libnm-core/crypto.c:415:2: return_alloc: Returning allocated memory "key". NetworkManager-0.9.11.0/libnm-core/nm-utils.c:2056: var_assign: Assigning: "key" = storage returned from "crypto_make_des_aes_key("DES-EDE3-CBC", &salt[0], salt_len, in_password, &key_len, NULL)". NetworkManager-0.9.11.0/libnm-core/nm-utils.c:2057: leaked_storage: Variable "key" going out of scope leaks the storage it points to. (cherry picked from commit afb0e2c53c4c17dfdb89d63b39db5101cc864704)
-rw-r--r--libnm-core/nm-setting-vlan.c3
-rw-r--r--libnm-core/nm-utils.c4
-rw-r--r--libnm-util/nm-setting-vlan.c3
3 files changed, 7 insertions, 3 deletions
diff --git a/libnm-core/nm-setting-vlan.c b/libnm-core/nm-setting-vlan.c
index 7b7ad91cf6..f622ddcbfd 100644
--- a/libnm-core/nm-setting-vlan.c
+++ b/libnm-core/nm-setting-vlan.c
@@ -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)) {
diff --git a/libnm-core/nm-utils.c b/libnm-core/nm-utils.c
index 0f85e52a0e..4b284cfefd 100644
--- a/libnm-core/nm-utils.c
+++ b/libnm-core/nm-utils.c
@@ -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;
diff --git a/libnm-util/nm-setting-vlan.c b/libnm-util/nm-setting-vlan.c
index f009629242..43b6a91c13 100644
--- a/libnm-util/nm-setting-vlan.c
+++ b/libnm-util/nm-setting-vlan.c
@@ -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)) {