From 2cf1490ab78a334f6c802c073c342f811a52b625 Mon Sep 17 00:00:00 2001 From: ps Date: Mon, 1 May 2000 10:53:21 +0000 Subject: [PATCH] Do not attempt to free a nfs node if it is the root node. The root node is statically allocated and is not guarded, so free will panic in nfs_close. --- lib/libstand/nfs.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/libstand/nfs.c b/lib/libstand/nfs.c index 1206bb75d8f9..5669973c9bda 100644 --- a/lib/libstand/nfs.c +++ b/lib/libstand/nfs.c @@ -109,6 +109,8 @@ static int nfs_write(struct open_file *f, void *buf, size_t size, size_t *resid) static off_t nfs_seek(struct open_file *f, off_t offset, int where); static int nfs_stat(struct open_file *f, struct stat *sb); +static struct nfs_iodesc nfs_root_node; + struct fs_ops nfs_fsops = { "nfs", nfs_open, @@ -363,7 +365,6 @@ nfs_open(upath, f) const char *upath; struct open_file *f; { - static struct nfs_iodesc nfs_root_node; struct iodesc *desc; struct nfs_iodesc *currfd; #ifndef NFS_NOSYMLINK @@ -546,7 +547,7 @@ nfs_close(f) printf("nfs_close: fp=0x%lx\n", (u_long)fp); #endif - if (fp) + if (fp != &nfs_root_node && fp) free(fp); f->f_fsdata = (void *)0;