--- kbd-1.12/src/setfont.c.orig 2004-01-16 20:45:31.000000000 +0100 +++ kbd-1.12/src/setfont.c 2006-06-21 17:28:56.999867425 +0200 @@ -398,8 +398,10 @@ fprintf(stderr, _("When loading several fonts, all " "must be psf fonts - %s isn't\n"), pathname); + fpclose(fpi); exit(EX_DATAERR); } + fpclose(fpi); // avoid zombies, jw@suse.de (#88501) bytewidth = (width+7) / 8; height = fontbuflth / (bytewidth * fontsize); if (verbose) @@ -483,6 +485,7 @@ if(readpsffont(fpi, &inbuf, &inputlth, &fontbuf, &fontbuflth, &width, &fontsize, 0, no_u ? NULL : &uclistheads) == 0) { + fpclose(fpi); /* we've got a psf font */ bytewidth = (width+7) / 8; height = fontbuflth / (bytewidth * fontsize); @@ -497,6 +500,7 @@ #endif return; } + fpclose(fpi); // avoid zombies, jw@suse.de (#88501) /* instructions to combine fonts? */ { char *combineheader = "# combine partial fonts\n";