Comment # 3
on bug 10068
from Guy Harris
Weird.
Unless I've missed something, the allocations in
/* If we have moved into a new interval (row), create a new io_stat_item_t
struct for every interval
* between the last struct and this one. If an item was not found in a
previous interval, an empty
* struct will be created for it. */
rt = relative_time;
while (rt >= it->time + parent->interval) {
it->next = (io_stat_item_t *)g_malloc(sizeof(io_stat_item_t));
it->next->prev = it;
it->next->next = NULL;
it = it->next;
mit->prev = it;
it->time = it->prev->time + parent->interval;
it->frames = 0;
it->counter = 0;
it->float_counter = 0;
it->double_counter = 0;
it->num = 0;
it->calc_type = it->prev->calc_type;
it->hf_index = it->prev->hf_index;
it->colnum = it->prev->colnum;
}
never get freed, so there appears to be a leak.
In practice, this leak doesn't matter, as tshark will free up the memory when
it exits; it's accumulated while it's processing packets, and needs to be kept
around until the statistics are printed and can't be freed until then.
So, *if* this is the issue, the problem isn't that this is a leak, the problem
appears to be that it's consuming a lot more memory on Mavericks than on
Mountain Lion.
I'm not sure why - "leaks" reports it as an 80-byte allocation on both
platforms. Perhaps there's some per-allocation overhead "leaks" doesn't
mention that's greater on Mavericks than on Mountain Lion. I'll see if a quick
look at the Mountain Lion and Mavericks malloc source shows anything.
You are receiving this mail because:
- You are watching all bug changes.