diff options
author | jh <jh@FreeBSD.org> | 2009-10-26 14:57:33 +0000 |
---|---|---|
committer | jh <jh@FreeBSD.org> | 2009-10-26 14:57:33 +0000 |
commit | a593969284aa70449e35a97727d9e229eb7601b3 (patch) | |
tree | 3ec58accda0361fa1a5179194c8ca0b89321375b | |
parent | d8453107ccb73ea8352badbacf532dbea63c07bb (diff) | |
download | FreeBSD-src-a593969284aa70449e35a97727d9e229eb7601b3.zip FreeBSD-src-a593969284aa70449e35a97727d9e229eb7601b3.tar.gz |
Fix parsing of mount options specified with -o in case an option with
value is preceded by an option without value (for example -o
option1,option2=value). Options must be separated before searching for
'='. Also compare pnextopt explicitly against NULL.
PR: bin/134069
Approved by: trasz (mentor)
-rw-r--r-- | sbin/mount_nfs/mount_nfs.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sbin/mount_nfs/mount_nfs.c b/sbin/mount_nfs/mount_nfs.c index 7d4f3f6..229da14 100644 --- a/sbin/mount_nfs/mount_nfs.c +++ b/sbin/mount_nfs/mount_nfs.c @@ -232,16 +232,16 @@ main(int argc, char *argv[]) char *pnextopt = NULL; char *val = ""; pass_flag_to_nmount = 1; - pval = strchr(opt, '='); pnextopt = strchr(opt, ','); + if (pnextopt != NULL) { + *pnextopt = '\0'; + pnextopt++; + } + pval = strchr(opt, '='); if (pval != NULL) { *pval = '\0'; val = pval + 1; } - if (pnextopt) { - *pnextopt = '\0'; - pnextopt++; - } if (strcmp(opt, "bg") == 0) { opflags |= BGRND; pass_flag_to_nmount=0; |