diff options
Diffstat (limited to 'stand/libsa/ufs.c')
-rw-r--r-- | stand/libsa/ufs.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/stand/libsa/ufs.c b/stand/libsa/ufs.c index 317d6e9fdb1c..02d13aa29722 100644 --- a/stand/libsa/ufs.c +++ b/stand/libsa/ufs.c @@ -678,7 +678,11 @@ out: if (rc) { if (fp->f_buf) free(fp->f_buf); - free(fp->f_fs); + if (fp->f_fs != NULL) { + free(fp->f_fs->fs_csp); + free(fp->f_fs->fs_si); + free(fp->f_fs); + } free(fp); } return (rc); @@ -723,7 +727,11 @@ ufs_close(f) } if (fp->f_buf) free(fp->f_buf); - free(fp->f_fs); + if (fp->f_fs != NULL) { + free(fp->f_fs->fs_csp); + free(fp->f_fs->fs_si); + free(fp->f_fs); + } free(fp); return (0); } |