mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-19 21:03:48 -07:00
coverity 226372 - leak
This commit is contained in:
parent
5017e33b6d
commit
e3b267112f
1 changed files with 9 additions and 1 deletions
|
@ -367,12 +367,14 @@ void tlvdb_change_or_add_node_ex(struct tlvdb *tlvdb, tlv_tag_t tag, size_t len,
|
||||||
|
|
||||||
// replace tlv element
|
// replace tlv element
|
||||||
struct tlvdb *tnewelm = tlvdb_fixed(tag, len, value);
|
struct tlvdb *tnewelm = tlvdb_fixed(tag, len, value);
|
||||||
|
bool tnewelm_linked = false;
|
||||||
tnewelm->next = telm->next;
|
tnewelm->next = telm->next;
|
||||||
tnewelm->parent = telm->parent;
|
tnewelm->parent = telm->parent;
|
||||||
|
|
||||||
// if telm stayed first in children chain
|
// if telm stayed first in children chain
|
||||||
if (telm->parent && telm->parent->children == telm) {
|
if (telm->parent && telm->parent->children == telm) {
|
||||||
telm->parent->children = tnewelm;
|
telm->parent->children = tnewelm;
|
||||||
|
tnewelm_linked = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if telm have previous element
|
// if telm have previous element
|
||||||
|
@ -387,6 +389,7 @@ void tlvdb_change_or_add_node_ex(struct tlvdb *tlvdb, tlv_tag_t tag, size_t len,
|
||||||
for (; celm; celm = celm->next) {
|
for (; celm; celm = celm->next) {
|
||||||
if (celm->next == telm) {
|
if (celm->next == telm) {
|
||||||
celm->next = tnewelm;
|
celm->next = tnewelm;
|
||||||
|
tnewelm_linked = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -396,8 +399,13 @@ void tlvdb_change_or_add_node_ex(struct tlvdb *tlvdb, tlv_tag_t tag, size_t len,
|
||||||
telm->next = NULL;
|
telm->next = NULL;
|
||||||
tlvdb_free(telm);
|
tlvdb_free(telm);
|
||||||
|
|
||||||
if (tlvdb_elm)
|
if (tlvdb_elm) {
|
||||||
*tlvdb_elm = tnewelm;
|
*tlvdb_elm = tnewelm;
|
||||||
|
tnewelm_linked = true;
|
||||||
|
}
|
||||||
|
if (! tnewelm_linked) {
|
||||||
|
tlvdb_free(tnewelm);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue