diff --git a/MANIFEST b/MANIFEST index a2f440049d..7ab33389e4 100644 --- a/MANIFEST +++ b/MANIFEST @@ -866,6 +866,8 @@ plugins/sudoers/regress/cvtsudoers/test40.out.ok plugins/sudoers/regress/cvtsudoers/test40.sh plugins/sudoers/regress/cvtsudoers/test41.out.ok plugins/sudoers/regress/cvtsudoers/test41.sh +plugins/sudoers/regress/cvtsudoers/test42.out.ok +plugins/sudoers/regress/cvtsudoers/test42.sh plugins/sudoers/regress/cvtsudoers/test5.out.ok plugins/sudoers/regress/cvtsudoers/test5.sh plugins/sudoers/regress/cvtsudoers/test6.out.ok diff --git a/plugins/sudoers/parse_ldif.c b/plugins/sudoers/parse_ldif.c index ecc7a26031..7169ac4358 100644 --- a/plugins/sudoers/parse_ldif.c +++ b/plugins/sudoers/parse_ldif.c @@ -654,6 +654,7 @@ sudoers_parse_ldif(struct sudoers_parse_tree *parse_tree, memcpy(tmp + savedlen, line, (size_t)len + 1); free(line); line = tmp; + len += (ssize_t)savedlen; savedline = NULL; } diff --git a/plugins/sudoers/regress/cvtsudoers/test42.out.ok b/plugins/sudoers/regress/cvtsudoers/test42.out.ok new file mode 100644 index 0000000000..80bdb8c2e5 --- /dev/null +++ b/plugins/sudoers/regress/cvtsudoers/test42.out.ok @@ -0,0 +1,2 @@ +# sudoRole millert +millert ALL = /usr/bin/systemctl restart httpd, /usr/bin/ls diff --git a/plugins/sudoers/regress/cvtsudoers/test42.sh b/plugins/sudoers/regress/cvtsudoers/test42.sh new file mode 100644 index 0000000000..c2c437487c --- /dev/null +++ b/plugins/sudoers/regress/cvtsudoers/test42.sh @@ -0,0 +1,20 @@ +#!/bin/sh +# +# Test an LDIF attribute folded over more than two lines. +# + +: ${CVTSUDOERS=cvtsudoers} + +$CVTSUDOERS -c "" -i ldif -b "ou=SUDOers,dc=sudo,dc=ws" -f sudoers <