]> granicus.if.org Git - sudo/commitdiff
When formatting as sudoers, flush the lbuf after each userspec.
authorTodd C. Miller <Todd.Miller@sudo.ws>
Sat, 3 Mar 2018 14:42:10 +0000 (07:42 -0700)
committerTodd C. Miller <Todd.Miller@sudo.ws>
Sat, 3 Mar 2018 14:42:10 +0000 (07:42 -0700)
plugins/sudoers/cvtsudoers.c
plugins/sudoers/fmtsudoers.c
plugins/sudoers/parse.h

index 7e0f82c79b87bb50be60d9bacc6d5e562ccdd675..2f44df15da25602e411f6474567505bffef85d2d 100644 (file)
@@ -583,7 +583,7 @@ convert_sudoers_sudoers(const char *output_file, struct cvtsudoers_config *conf)
     }
 
     /* Print User_Specs */
-    if (!sudoers_format_userspecs(&lbuf, &userspecs, conf->expand_aliases))
+    if (!sudoers_format_userspecs(&lbuf, &userspecs, conf->expand_aliases, true))
        goto done;
     if (lbuf.len > 1) {
        sudo_lbuf_print(&lbuf);
index 01da535676f6c244e2c4744ce0cf6760c69a2ccb..edbcdc64ae4ba6b59b9270957fe3937eb557770f 100644 (file)
@@ -285,7 +285,7 @@ sudoers_format_userspec(struct sudo_lbuf *lbuf, struct userspec *us,
  */
 bool
 sudoers_format_userspecs(struct sudo_lbuf *lbuf, struct userspec_list *usl,
-    bool expand_aliases)
+    bool expand_aliases, bool flush)
 {
     struct userspec *us;
     debug_decl(sudoers_format_userspecs, SUDOERS_DEBUG_UTIL)
@@ -293,6 +293,7 @@ sudoers_format_userspecs(struct sudo_lbuf *lbuf, struct userspec_list *usl,
     TAILQ_FOREACH(us, usl, entries) {
        if (!sudoers_format_userspec(lbuf, us, expand_aliases))
            break;
+       sudo_lbuf_print(lbuf);
     }
 
     debug_return_bool(!sudo_lbuf_error(lbuf));
index e903adba5779b4f9676900145442c91bd757f59b..6a459de2641c04c3734ab4c1844584c8eed794ea 100644 (file)
@@ -315,6 +315,6 @@ bool sudoers_format_default(struct sudo_lbuf *lbuf, struct defaults *d);
 bool sudoers_format_member(struct sudo_lbuf *lbuf, struct member *m, const char *separator, int alias_type);
 bool sudoers_format_privilege(struct sudo_lbuf *lbuf, struct privilege *priv, bool expand_aliases);
 bool sudoers_format_userspec(struct sudo_lbuf *lbuf, struct userspec *us, bool expand_aliases);
-bool sudoers_format_userspecs(struct sudo_lbuf *lbuf, struct userspec_list *usl, bool expand_aliases);
+bool sudoers_format_userspecs(struct sudo_lbuf *lbuf, struct userspec_list *usl, bool expand_aliases, bool flush);
 
 #endif /* SUDOERS_PARSE_H */