*** util.c.orig	Fri Jul  4 10:29:40 1997
--- util.c	Fri Jul  4 10:32:43 1997
***************
*** 16,22 ****
  #include <ctype.h>
  #include <errno.h>
  #include <limits.h>
- #include <malloc.h>
  #include <netdb.h>
  #include <setjmp.h>
  #include <signal.h>
--- 16,21 ----
***************
*** 485,491 ****
  
      strcpy(s, libdir);
      strcat(s, "/groupinfo");
-     fd = open( s, O_RDONLY );
      if ( stat( s, &st ) ) {
  	syslog( LOG_ERR, "can't stat %s: %m", s );
  	return;
--- 484,489 ----
***************
*** 494,499 ****
--- 492,499 ----
      if ( (fd=open( s, O_RDONLY))<0 ||
  	 (read( fd, stuff, st.st_size ) < st.st_size) ) {
  	syslog( LOG_ERR, "can't open/read %s: %m", s );
+ 	if (fd >= 0)
+ 	    close( fd );
  	return;
      } else {
  	close( fd );
