aboutsummaryrefslogtreecommitdiffstats
path: root/rfc822.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2001-07-06 01:19:16 +0000
committerEric S. Raymond <esr@thyrsus.com>2001-07-06 01:19:16 +0000
commite178572ff0edd064f4aa989bae1762b9ca1e9067 (patch)
treed79c71e61547a09d8df3e8b7a1110ee84a063ebe /rfc822.c
parentb3c53ae6f56d1e3710b0111bdb196e98ce2969ea (diff)
downloadfetchmail-e178572ff0edd064f4aa989bae1762b9ca1e9067.tar.gz
fetchmail-e178572ff0edd064f4aa989bae1762b9ca1e9067.tar.bz2
fetchmail-e178572ff0edd064f4aa989bae1762b9ca1e9067.zip
Better backslash handling in RFC822 strings.
svn path=/trunk/; revision=3397
Diffstat (limited to 'rfc822.c')
-rw-r--r--rfc822.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/rfc822.c b/rfc822.c
index 909b1b7b..5f8e21b7 100644
--- a/rfc822.c
+++ b/rfc822.c
@@ -145,7 +145,16 @@ const unsigned char *host; /* server hostname */
case 2: /* we're in a string */
if (*from == '"')
- state = 1;
+ {
+ char *bp;
+ int bscount;
+
+ bscount = 0;
+ for (bp = from - 1; *bp == '\\'; bp--)
+ bscount++;
+ if (bscount % 2)
+ state = 1;
+ }
break;
case 3: /* we're in a <>-enclosed address */