aboutsummaryrefslogtreecommitdiff
path: root/stand/libsa/ufs.c
diff options
context:
space:
mode:
Diffstat (limited to 'stand/libsa/ufs.c')
-rw-r--r--stand/libsa/ufs.c12
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);
}