pull up r18961 from trunk
authorTom Yu <tlyu@mit.edu>
Mon, 18 Dec 2006 23:11:28 +0000 (23:11 +0000)
committerTom Yu <tlyu@mit.edu>
Mon, 18 Dec 2006 23:11:28 +0000 (23:11 +0000)
 r18961@cathode-dark-space:  epeisach | 2006-12-18 06:26:59 -0500
 ticket: new
 subject: krb5_rc_io_open_internal on error will call close(-1)

 If there is an error in opening the replay cache - memory is freed, but
 close() is invoked with -1 (failure from open()).  While technically,
 close() will return EBADF in such a case, and nothing bad will happen,
 valgrind picks up on this and provides an error...

ticket: 5115
version_fixed: 1.6

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/krb5-1-6@18966 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/krb5/rcache/rc_io.c

index 8453d18323584c25a89dbfbc6e077d2407ceafc9..adc6a8c49cece9e39b19fce8fefc7b17b1082842 100644 (file)
@@ -168,7 +168,9 @@ krb5_rc_io_creat(krb5_context context, krb5_rc_iostuff *d, char **fn)
            FREE(d->fn);
            d->fn = NULL;
        }
-       (void) close(d->fd);
+       if (d->fd != -1) {
+         (void) close(d->fd);
+       }
     }
     return retval;
 }