Memory profile

Maxim Kizub max at immsp.kiev.ua
Tue Jan 26 14:54:48 PST 1999


Hello.

I've found memory leak.

It's in kaffe/kaffevm/inflate.c :

int
inflate_free(inflateInfo* pG)
{
  if (pG->fixed_tl != 0)
  {
    huft_free(pG->fixed_td);
    huft_free(pG->fixed_tl);
    pG->fixed_td = pG->fixed_tl = 0;
    KFREE(pG->slide); 
  }
  KFREE(pG);

  return 0;
}

needs to be:

int
inflate_free(inflateInfo* pG)
{
  if (pG->fixed_tl != 0)
  {
    huft_free(pG->fixed_td);
    huft_free(pG->fixed_tl);
    pG->fixed_td = pG->fixed_tl = 0;
  }
  KFREE(pG->slide);
  KFREE(pG);

  return 0;
}


The most strange thing, is that it saves me not
only those 6Mb it was eating, but allowed to GC
about 1.5 times more objects. Since block allocated
by KMALLOC should not be scanned by GC for
object references - this is really strange...


PS There was a bug reported early, about memory leak
in something releted to zip files...
I can't find it in my archive... Was it really
fixed? Or I have refound it?

Regards
  Maxim Kizub



More information about the kaffe mailing list