diff options
author | Ralph Boehme <slow@samba.org> | 2019-10-31 12:46:38 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2019-11-07 16:01:21 +0000 |
commit | 8846887a55b0c97a1639fc6ecb228941cf16b8f2 (patch) | |
tree | d268d59c43fa3b7506ff88adb252fef7b20b3128 /source3/utils/testparm.c | |
parent | ede00779ab2d881e061adb9d861879e8c68e272b (diff) | |
download | samba-8846887a55b0c97a1639fc6ecb228941cf16b8f2.tar.gz |
s3:printing: Fix %J substition
print_run_command() uses lp_print_command() which internally performs basic
substition by calling talloc_sub_basic(). As a result. any of the variables in
the "basic set", including "%J" are already substituted.
To prevent the unwanted subtitution, we declare all affected configuration
options as const, which disabled the basic substition.
As a result print_run_command() can run manual substitution on all characters,
including %J, in the variadic argument list *before* calling lp_string() to run
basic substition which we had disabled before with the const.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13745
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Thu Nov 7 16:01:21 UTC 2019 on sn-devel-184
Diffstat (limited to 'source3/utils/testparm.c')
-rw-r--r-- | source3/utils/testparm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source3/utils/testparm.c b/source3/utils/testparm.c index 9ba625da4bf..f4e94b6ef74 100644 --- a/source3/utils/testparm.c +++ b/source3/utils/testparm.c @@ -611,7 +611,7 @@ static void do_per_share_checks(int s) "excludes octal 010 (S_IXGRP).\n\n", lp_servicename(talloc_tos(), s)); } - if (lp_printing(s) == PRINT_CUPS && *(lp_print_command(talloc_tos(), s)) != '\0') { + if (lp_printing(s) == PRINT_CUPS && *(lp_print_command(s)) != '\0') { fprintf(stderr, "Warning: Service %s defines a print command, but " "parameter is ignored when using CUPS libraries.\n\n", |