aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/autofs
diff options
context:
space:
mode:
authorEdward Tomasz Napierala <trasz@FreeBSD.org>2019-04-10 16:09:06 +0000
committerEdward Tomasz Napierala <trasz@FreeBSD.org>2019-04-10 16:09:06 +0000
commit1383afcb9927e968b7e8bf1462f513466e99658a (patch)
treeb31c605223b27b5d4c9fe7715a946060676c873f /usr.sbin/autofs
parent9c0fe7f6b98cb35074132332439a9af4e2db814d (diff)
downloadsrc-1383afcb9927e968b7e8bf1462f513466e99658a.tar.gz
src-1383afcb9927e968b7e8bf1462f513466e99658a.zip
Fix segfault that could occur on "automount -LL".
MFC after: 2 weeks Sponsored by: DARPA, AFRL
Notes
Notes: svn path=/head/; revision=346086
Diffstat (limited to 'usr.sbin/autofs')
-rw-r--r--usr.sbin/autofs/common.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/usr.sbin/autofs/common.c b/usr.sbin/autofs/common.c
index 65b8737bcff4..ad9e90b850e1 100644
--- a/usr.sbin/autofs/common.c
+++ b/usr.sbin/autofs/common.c
@@ -365,7 +365,7 @@ expand_ampersand(char *string, const char *key)
* of characters before the '&'.
*/
before_len = i;
- //assert(i + 1 < (int)strlen(string));
+ //assert(i < (int)strlen(string));
ret = asprintf(&expanded, "%.*s%s%s",
before_len, string, key, string + before_len + 1);
@@ -380,6 +380,8 @@ expand_ampersand(char *string, const char *key)
*/
string = expanded;
i = before_len + strlen(key);
+ if (i == (int)strlen(string))
+ break;
backslashed = false;
//assert(i < (int)strlen(string));
}