diff options
author | Martin Mares <mj@ucw.cz> | 2000-05-19 20:05:01 +0200 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 2000-05-19 20:05:01 +0200 |
commit | 3ced9b349daeb64357136311e436401c246d7777 (patch) | |
tree | 3117278a27e06352bf72eb9ccd965f8353b23f8d | |
parent | 075898dea7ee73b49462af3d3ab0269fd46afcc4 (diff) | |
download | bird-3ced9b349daeb64357136311e436401c246d7777.tar bird-3ced9b349daeb64357136311e436401c246d7777.zip |
Fixed freeing of non-embedded extended attributes.
-rw-r--r-- | nest/rt-attr.c | 8 |
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); } } |