mirror of
https://github.com/radareorg/radare2.git
synced 2025-02-23 07:42:38 +00:00
Unset struct.<struct_name>.<field_name>.meta keys when deleting a struct type, fixes #22136
This commit is contained in:
parent
6df299a67e
commit
74bf0557fa
@ -509,11 +509,12 @@ R_API void r_type_del(Sdb *TDB, const char *name) {
|
||||
sdb_unset (TDB, r_strf ("type.%s.meta", name), 0);
|
||||
sdb_unset (TDB, name, 0);
|
||||
} else if (!strcmp (kind, "struct") || !strcmp (kind, "union")) {
|
||||
int i, n = sdb_array_length (TDB, r_strf ("%s.%s", kind, name));
|
||||
char *elements_key = r_str_newf ("%s.%s", kind, name);
|
||||
int i, n = sdb_array_length (TDB, elements_key);
|
||||
for (i = 0; i < n; i++) {
|
||||
char *p = sdb_array_get (TDB, elements_key, i, NULL);
|
||||
sdb_unset (TDB, r_strf ("%s.%s", elements_key, p), 0);
|
||||
sdb_unset (TDB, r_strf ("%s.%s.meta", elements_key, p), 0);
|
||||
free (p);
|
||||
}
|
||||
sdb_unset (TDB, elements_key, 0);
|
||||
|
Loading…
x
Reference in New Issue
Block a user