diff options
author | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2019-04-10 16:09:06 +0000 |
---|---|---|
committer | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2019-04-10 16:09:06 +0000 |
commit | 1383afcb9927e968b7e8bf1462f513466e99658a (patch) | |
tree | b31c605223b27b5d4c9fe7715a946060676c873f /usr.sbin/autofs | |
parent | 9c0fe7f6b98cb35074132332439a9af4e2db814d (diff) | |
download | src-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.c | 4 |
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)); } |