From bfacc22b1cd7713444e1403a66476d55284d260f Mon Sep 17 00:00:00 2001 From: Guillem Jover Date: Sat, 7 Jan 2012 01:42:41 +0100 Subject: [PATCH] argp: Avoid crash if translator uses % characters in a translation. * lib/argp-parse.c (argp_version_parser): Use a "%s" format string. Reported by Mats Erik Andersson . --- ChangeLog | 6 ++++++ lib/argp-parse.c | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5d8862992..628cebfbf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-01-06 Guillem Jover (tiny change) + + argp: Avoid crash if translator uses % characters in a translation. + * lib/argp-parse.c (argp_version_parser): Use a "%s" format string. + Reported by Mats Erik Andersson . + 2012-01-06 Paul Eggert doc: C11 and C++11 are now official diff --git a/lib/argp-parse.c b/lib/argp-parse.c index 39b8336f3..09558b4f8 100644 --- a/lib/argp-parse.c +++ b/lib/argp-parse.c @@ -154,8 +154,9 @@ argp_version_parser (int key, char *arg, struct argp_state *state) else if (argp_program_version) fprintf (state->out_stream, "%s\n", argp_program_version); else - __argp_error (state, dgettext (state->root_argp->argp_domain, - "(PROGRAM ERROR) No version known!?")); + __argp_error (state, "%s", + dgettext (state->root_argp->argp_domain, + "(PROGRAM ERROR) No version known!?")); if (! (state->flags & ARGP_NO_EXIT)) exit (0); break; -- 2.11.0