projects
/
citadel.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
bd5270c
)
correctly unfold RFC822 Headers and find the right end of the string.
author
Wilfried Goesgens
<dothebart@citadel.org>
Tue, 29 Oct 2013 20:45:13 +0000
(21:45 +0100)
committer
Wilfried Goesgens
<dothebart@citadel.org>
Tue, 29 Oct 2013 20:45:13 +0000
(21:45 +0100)
citadel/internet_addressing.c
patch
|
blob
|
history
diff --git
a/citadel/internet_addressing.c
b/citadel/internet_addressing.c
index 507347307553f679dbdcb9994ddfd077d293593f..907d0eaac61719709fed8f5a7fcfbd00637d4bb0 100644
(file)
--- a/
citadel/internet_addressing.c
+++ b/
citadel/internet_addressing.c
@@
-989,11
+989,17
@@
void unfold_rfc822_field(char **field, char **FieldEnd)
sField < pFieldEnd;
pField++, sField++)
{
- if ((*sField=='\r') || (*sField=='\n')) {
- sField++;
- if (*sField == '\n')
- sField++;
- *pField = *sField;
+ if ((*sField=='\r') || (*sField=='\n'))
+ {
+ int offset = 1;
+
+ if (*(sField+1) == '\n')
+ offset++;
+
+ if (sField + offset == pFieldEnd)
+ break;
+
+ *pField = *sField + offset;
}
else {
if (*sField=='\"') quote = 1 - quote;