summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortrasz <trasz@FreeBSD.org>2015-05-21 13:36:00 +0000
committertrasz <trasz@FreeBSD.org>2015-05-21 13:36:00 +0000
commitffdd97ce45793ac2206ca85895ccf346c9fc4bbc (patch)
treebd77ca1f16bd60a80db7fc290174aaa002232efb
parent5d932fec110b4522fa6e6bc7cfcb90cf0a8cff4b (diff)
downloadFreeBSD-src-ffdd97ce45793ac2206ca85895ccf346c9fc4bbc.zip
FreeBSD-src-ffdd97ce45793ac2206ca85895ccf346c9fc4bbc.tar.gz
MFC r279915:
Make concat() accept NULL arguments. Sponsored by: The FreeBSD Foundation
-rw-r--r--usr.sbin/autofs/automount.c10
-rw-r--r--usr.sbin/autofs/automountd.c9
-rw-r--r--usr.sbin/autofs/common.c6
3 files changed, 8 insertions, 17 deletions
diff --git a/usr.sbin/autofs/automount.c b/usr.sbin/autofs/automount.c
index 8a7c91a..8bcc79b 100644
--- a/usr.sbin/autofs/automount.c
+++ b/usr.sbin/autofs/automount.c
@@ -345,11 +345,7 @@ main_automount(int argc, char **argv)
force_unmount = true;
break;
case 'o':
- if (options == NULL) {
- options = checked_strdup(optarg);
- } else {
- options = concat(options, ',', optarg);
- }
+ options = concat(options, ',', optarg);
break;
case 'u':
do_unmount = true;
@@ -385,9 +381,7 @@ main_automount(int argc, char **argv)
parse_master(root, AUTO_MASTER_PATH);
if (show_maps) {
- if (options != NULL) {
- root->n_options = concat(options, ',', root->n_options);
- }
+ root->n_options = concat(options, ',', root->n_options);
if (show_maps > 1) {
node_expand_indirect_maps(root);
node_expand_ampersand(root, NULL);
diff --git a/usr.sbin/autofs/automountd.c b/usr.sbin/autofs/automountd.c
index 191e712..9c399fd 100644
--- a/usr.sbin/autofs/automountd.c
+++ b/usr.sbin/autofs/automountd.c
@@ -241,8 +241,7 @@ handle_request(const struct autofs_daemon_request *adr, char *cmdline_options,
/*
* Prepend options passed via automountd(8) command line.
*/
- if (cmdline_options != NULL)
- options = concat(cmdline_options, ',', options);
+ options = concat(cmdline_options, ',', options);
if (node->n_location == NULL) {
log_debugx("found node defined at %s:%d; not a mountpoint",
@@ -455,11 +454,7 @@ main_automountd(int argc, char **argv)
maxproc = atoi(optarg);
break;
case 'o':
- if (options == NULL) {
- options = checked_strdup(optarg);
- } else {
- options = concat(options, ',', optarg);
- }
+ options = concat(options, ',', optarg);
break;
case 'v':
debug++;
diff --git a/usr.sbin/autofs/common.c b/usr.sbin/autofs/common.c
index d725eab..7c744d3 100644
--- a/usr.sbin/autofs/common.c
+++ b/usr.sbin/autofs/common.c
@@ -94,8 +94,10 @@ concat(const char *s1, char separator, const char *s2)
char *result;
int ret;
- assert(s1 != NULL);
- assert(s2 != NULL);
+ if (s1 == NULL)
+ s1 = "";
+ if (s2 == NULL)
+ s2 = "";
/*
* If s2 starts with separator - skip it; otherwise concatenating
OpenPOWER on IntegriCloud