The branch stable/13 has been updated by yuripv:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=c6dcae2dfa3b96edc1fd8bbb6254c48fafbc8cd3

commit c6dcae2dfa3b96edc1fd8bbb6254c48fafbc8cd3
Author:     Yuri Pankov <[email protected]>
AuthorDate: 2021-04-11 22:02:12 +0000
Commit:     Yuri Pankov <[email protected]>
CommitDate: 2021-04-15 19:15:51 +0000

    setclassenvironment: trim leading spaces in variable names
    
    Trim leading spaces in variable names when the list is e.g.
    pretty-formatted in /etc/login.conf or ~/.login_conf.
    
    PR:             247947
    Reviewed by:    allanjude
    Differential Revision:  https://reviews.freebsd.org/D25649
    
    (cherry picked from commit eeaf9d562fe137e0c52b8c346742dccfc8bde015)
---
 lib/libutil/login_class.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/lib/libutil/login_class.c b/lib/libutil/login_class.c
index fd0b232d0a43..38666bc8e3d3 100644
--- a/lib/libutil/login_class.c
+++ b/lib/libutil/login_class.c
@@ -231,12 +231,17 @@ setclassenvironment(login_cap_t *lc, const struct passwd 
* pwd, int paths)
            while (*set_env != NULL) {
                char    *p = strchr(*set_env, '=');
 
-               if (p != NULL) {  /* Discard invalid entries */
+               if (p != NULL && p != *set_env) {  /* Discard invalid entries */
+                   const char  *ep;
                    char        *np;
 
                    *p++ = '\0';
+                   /* Strip leading spaces from variable name */
+                   ep = *set_env;
+                   while (*ep == ' ' || *ep == '\t')
+                       ep++;
                    if ((np = substvar(p, pwd, hlen, pch, nlen)) != NULL) {
-                       setenv(*set_env, np, 1);
+                       setenv(ep, np, 1);
                        free(np);
                    }
                }
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to