From aaba55fbf6c6b8b33f0f3dd09fbdab1eaff6978b Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Tue, 15 Jun 2010 10:32:05 -0400 Subject: [PATCH] Better prefix determination now that we can't rely on len==0 to tell the beginning on an entry. --HG-- branch : 1.7 --- ldap.c | 5 ++++- parse.c | 8 ++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ldap.c b/ldap.c index e99b75395..7aa4f6851 100644 --- a/ldap.c +++ b/ldap.c @@ -1198,7 +1198,10 @@ sudo_ldap_display_defaults(nss, pw, lbuf) if (rc == LDAP_SUCCESS && (entry = ldap_first_entry(ld, result))) { bv = ldap_get_values_len(ld, entry, "sudoOption"); if (bv != NULL) { - prefix = " "; + if (lbuf->len == 0 || isspace((unsigned char)lbuf->buf[lbuf->len - 1])) + prefix = " "; + else + prefix = ", "; for (p = bv; *p != NULL; p++) { lbuf_append(lbuf, prefix, (*p)->bv_val, NULL); prefix = ", "; diff --git a/parse.c b/parse.c index 63dedd479..48a25d89b 100644 --- a/parse.c +++ b/parse.c @@ -454,13 +454,17 @@ sudo_file_display_defaults(nss, pw, lbuf) struct lbuf *lbuf; { struct defaults *d; - char *prefix = NULL; + char *prefix; int nfound = 0; if (nss->handle == NULL) return(-1); - prefix = " "; + if (lbuf->len == 0 || isspace((unsigned char)lbuf->buf[lbuf->len - 1])) + prefix = " "; + else + prefix = ", "; + tq_foreach_fwd(&defaults, d) { switch (d->type) { case DEFAULTS_HOST: -- 2.50.1