diff options
author | Kirk McKusick <mckusick@FreeBSD.org> | 2018-02-02 22:06:15 +0000 |
---|---|---|
committer | Kirk McKusick <mckusick@FreeBSD.org> | 2018-02-02 22:06:15 +0000 |
commit | 8a9493deb25827ff94bfc6fc9e759e9cad9955b6 (patch) | |
tree | 715a68c1b59d70f47020075312620cd2573cdc93 /lib/libufs | |
parent | 62042c979db43298b8e3d569cb9fd5bd7adc60ac (diff) | |
download | src-8a9493deb25827ff94bfc6fc9e759e9cad9955b6.tar.gz src-8a9493deb25827ff94bfc6fc9e759e9cad9955b6.zip |
In the sbwrite(3) function, ensure that the file descriptor has been
upgraded to writable.
Reported by: Kyle Evans <kevans@freebsd.org>
Notes
Notes:
svn path=/head/; revision=328813
Diffstat (limited to 'lib/libufs')
-rw-r--r-- | lib/libufs/sblock.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/libufs/sblock.c b/lib/libufs/sblock.c index 5242a6db88db..29ff258b6ebf 100644 --- a/lib/libufs/sblock.c +++ b/lib/libufs/sblock.c @@ -96,9 +96,16 @@ int sbwrite(struct uufsd *disk, int all) { struct fs *fs; + int rv; ERROR(disk, NULL); + rv = ufs_disk_write(disk); + if (rv == -1) { + ERROR(disk, "failed to open disk for writing"); + return (-1); + } + fs = &disk->d_fs; if ((errno = sbput(disk->d_fd, fs, all ? fs->fs_ncg : 0)) != 0) { switch (errno) { |