Fix another bug introduced with rev. 1.204; in vfs_donmount() if

the 'vfs_getopt(optlist, "errmsg", (void **)&errmsg, &errmsg_len)'
call fails, 'errmsg' is left uninitialized, making the later tests
against NULL meaningless, and the uses bogus. Thus initialize
'errmsg' to NULL beforehand. [1]
While at it, remove the superfluous assignment of 0 to 'errmsg_len'
if the above mentioned call fails as it's already initialized to 0.

Submitted by:	Michael Plass [1]
This commit is contained in:
Marius Strobl 2006-08-26 16:28:19 +00:00
parent 9dff0111c9
commit aed760ef8a
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=161644

View File

@ -575,6 +575,7 @@ vfs_donmount(struct thread *td, int fsflags, struct uio *fsoptions)
int error, fstypelen, fspathlen, errmsg_len, errmsg_pos;
int has_rw, has_noro;
errmsg = NULL;
errmsg_len = 0;
errmsg_pos = -1;
has_rw = 0;
@ -586,8 +587,6 @@ vfs_donmount(struct thread *td, int fsflags, struct uio *fsoptions)
if (vfs_getopt(optlist, "errmsg", (void **)&errmsg, &errmsg_len) == 0)
errmsg_pos = vfs_getopt_pos(optlist, "errmsg");
else
errmsg_len = 0;
/*
* We need these two options before the others,