From 354f8119bc24c93b3ead367af7ded8dd271feb3c Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Mon, 14 Nov 2016 10:25:43 +0900 Subject: [PATCH] scd: Fix status info encoding. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * scd/command.c (send_status_info): Do percent plus encoding correctly. -- Backport of master commit: 4ee4d0b02172cf56d9582bb99e32a65c75315b25 Reported-by: David Härdeman Signed-off-by: NIIBE Yutaka --- scd/command.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scd/command.c b/scd/command.c index 963cb3e22..2c43a3a53 100644 --- a/scd/command.c +++ b/scd/command.c @@ -2103,7 +2103,8 @@ send_status_info (ctrl_t ctrl, const char *keyword, ...) } for ( ; valuelen && n < DIM (buf)-2; n++, valuelen--, value++) { - if (*value < ' ' || *value == '+') + if (*value == '+' || *value == '\"' || *value == '%' + || *value < ' ') { sprintf (p, "%%%02X", *value); p += 3;