summaryrefslogtreecommitdiffstats
path: root/nest/rt-attr.c
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>2000-05-19 20:05:01 +0200
committerMartin Mares <mj@ucw.cz>2000-05-19 20:05:01 +0200
commit3ced9b349daeb64357136311e436401c246d7777 (patch)
tree3117278a27e06352bf72eb9ccd965f8353b23f8d /nest/rt-attr.c
parent075898dea7ee73b49462af3d3ab0269fd46afcc4 (diff)
downloadbird-3ced9b349daeb64357136311e436401c246d7777.tar
bird-3ced9b349daeb64357136311e436401c246d7777.zip
Fixed freeing of non-embedded extended attributes.
Diffstat (limited to 'nest/rt-attr.c')
-rw-r--r--nest/rt-attr.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/nest/rt-attr.c b/nest/rt-attr.c
index 53e85a6..8b4dc43 100644
--- a/nest/rt-attr.c
+++ b/nest/rt-attr.c
@@ -251,9 +251,17 @@ ea_list_copy(ea_list *o)
static inline void
ea_free(ea_list *o)
{
+ int i;
+
if (o)
{
ASSERT(!o->next);
+ for(i=0; i<o->count; i++)
+ {
+ eattr *a = &o->attrs[i];
+ if (!(a->type & EAF_EMBEDDED))
+ mb_free(a->u.ptr);
+ }
mb_free(o);
}
}