From 84282a95388cdcf7ad4595f4777e8dba0da81ca6 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Tue, 15 Feb 2005 16:23:45 +0000 Subject: (modify_description): Don't increment OUT_LEN during the second pass. --- agent/ChangeLog | 5 +++++ agent/findkey.c | 11 +++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) (limited to 'agent') diff --git a/agent/ChangeLog b/agent/ChangeLog index 7eb73e013..f0e19ad37 100644 --- a/agent/ChangeLog +++ b/agent/ChangeLog @@ -1,3 +1,8 @@ +2005-02-15 Werner Koch + + * findkey.c (modify_description): Don't increment OUT_LEN during + the second pass. + 2005-02-14 Moritz Schulte * command-ssh.c (es_read_byte): Renamed to ... diff --git a/agent/findkey.c b/agent/findkey.c index 896cb880e..1ac57ad07 100644 --- a/agent/findkey.c +++ b/agent/findkey.c @@ -179,18 +179,20 @@ modify_description (const char *in, const char *comment, char **result) switch (in[i]) { case '%': - out_len++; if (out) *out++ = '%'; + else + out_len++; break; case 'c': /* Comment. */ - out_len += comment_length; - if (out && comment_length) + if (out) { memcpy (out, comment, comment_length); out += comment_length; } + else + out_len += comment_length; break; default: /* Invalid special sequences are ignored. */ @@ -199,9 +201,10 @@ modify_description (const char *in, const char *comment, char **result) } else { - out_len++; if (out) *out++ = in[i]; + else + out_len++; } } -- cgit v1.2.3