diff --git a/sys/dev/disk/vn/vn.c b/sys/dev/disk/vn/vn.c index 95bcf44..f7f216f 100644 --- a/sys/dev/disk/vn/vn.c +++ b/sys/dev/disk/vn/vn.c @@ -690,17 +690,19 @@ vniocattach_swap(struct vn_softc *vn, struct vn_ioctl *vio, cdev_t dev, int vnsetcred(struct vn_softc *vn, struct ucred *cred) { + struct ucred *ocred; char *tmpbuf; int error = 0; /* * Set credits in our softc */ - - if (vn->sc_cred) - crfree(vn->sc_cred); + ocred = vn->sc_cred; vn->sc_cred = crdup(cred); + if (ocred) + crfree(ocred); + /* * Horrible kludge to establish credentials for NFS XXX. */