aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2015-04-10 06:34:35 +0000
committerNIIBE Yutaka <[email protected]>2015-04-15 07:08:32 +0000
commit93910b5b8d20c089b2578d757cf06509d7617978 (patch)
treebdf1ea4f86990127f22575782c4c38fdf6460458
parentgpgparsemail: Fix case of zero length continuation lines. (diff)
downloadgnupg-93910b5b8d20c089b2578d757cf06509d7617978.tar.gz
gnupg-93910b5b8d20c089b2578d757cf06509d7617978.zip
gpgparsemail: Fix last commit (3f2bdac)
* tools/rfc822parse.c (parse_field): Replace break by goto. -- Brown paper bag bug: Changing an IF to a WHILE inside another loop requires to fix the inner break. Reported-by: Hanno Böck Signed-off-by: Werner Koch <[email protected]> (backported from 2.1 commit 9433661419043431a6cfc7d84c8450e0b2f6c353)
-rw-r--r--tools/rfc822parse.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/rfc822parse.c b/tools/rfc822parse.c
index 7b86ea945..7895e0bab 100644
--- a/tools/rfc822parse.c
+++ b/tools/rfc822parse.c
@@ -829,7 +829,7 @@ parse_field (HDR_LINE hdr)
while (!*s)
{
if (!hdr->next || !hdr->next->cont)
- break;
+ goto oparen_out;
/* Next item is a header continuation line. */
hdr = hdr->next;
s = hdr->line;
@@ -852,6 +852,7 @@ parse_field (HDR_LINE hdr)
else if (*s == '\"')
in_quote = 1;
}
+ oparen_out:
if (!*s)
; /* Actually this is an error, but we don't care about it. */
else