autofs-5.1.6 - fix trailing dollar sun entry expansion From: Ian Kent In modules/parse_sun.c:expandsunent() if we see "$ " or "$" in the entry it can't be a macro, and the value can't be quoted since '\' and '"' cases are handled seperately in the swicth, so treat the character as a valid entry character. Signed-off-by: Ian Kent --- CHANGELOG | 1 + modules/parse_sun.c | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index fa5992aa..07a85cde 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -7,6 +7,7 @@ xx/xx/2020 autofs-5.1.7 - correct fsf address. - samples: fix Makefile targets' directory dependencies - remove intr hosts map mount option. +- fix trailing dollar sun entry expansion. 07/10/2019 autofs-5.1.6 - support strictexpire mount option. diff --git a/modules/parse_sun.c b/modules/parse_sun.c index 71867ef1..f6c22d15 100644 --- a/modules/parse_sun.c +++ b/modules/parse_sun.c @@ -161,6 +161,18 @@ int expandsunent(const char *src, char *dst, const char *key, } src = p + 1; } else { + /* If the '$' is folloed by a space or NULL it + * can't be a macro, and the value can't be + * quoted since '\' and '"' cases are handled + * in other cases, so treat the $ as a valid + * map entry character. + */ + if (isblank(*src) || !*src) { + if (dst) + *dst++ = ch; + len++; + break; + } p = src; while (isalnum(*p) || *p == '_') p++;