diff options
author | Jiří Klimeš <jklimes@redhat.com> | 2014-12-12 14:31:27 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2014-12-16 21:47:01 +0100 |
commit | 85b24e4eedee094cb501bceb4eabfee88a799b00 (patch) | |
tree | f222759c19976393725937f6f3aa3ab311128c43 | |
parent | 3034fe9f4d33c0bdd4f8998495fdee260ea27069 (diff) | |
download | NetworkManager-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.c | 3 | ||||
-rw-r--r-- | libnm-core/nm-utils.c | 4 | ||||
-rw-r--r-- | libnm-util/nm-setting-vlan.c | 3 |
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)) { |