From: Todd C. Miller Date: Tue, 15 Jun 2010 14:32:05 +0000 (-0400) Subject: Better prefix determination now that we can't rely on len==0 to X-Git-Tag: SUDO_1_7_3~59 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=aaba55fbf6c6b8b33f0f3dd09fbdab1eaff6978b;p=sudo Better prefix determination now that we can't rely on len==0 to tell the beginning on an entry. --HG-- branch : 1.7 --- 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: