diff --git a/kernel-src/fs/file.c b/kernel-src/fs/file.c index 37799360..d690ee6b 100644 --- a/kernel-src/fs/file.c +++ b/kernel-src/fs/file.c @@ -33,8 +33,10 @@ static file_t* newfile() { } static void cleanfile(file_t *file) { - vfs_close(file->vnode, fileflagstovnodeflags(file->flags)); - VOP_RELEASE(file->vnode); + if (file->vnode) { + vfs_close(file->vnode, fileflagstovnodeflags(file->flags)); + VOP_RELEASE(file->vnode); + } slab_free(filecache, file); }