Skip to content

Commit

Permalink
Fixed MimeParser.ParseHeaders() for MessageSeliveryStatus.StatusGroups
Browse files Browse the repository at this point in the history
Fixes bug #253
  • Loading branch information
jstedfast committed Jun 16, 2016
1 parent bf509b8 commit 38799b9
Showing 1 changed file with 6 additions and 12 deletions.
18 changes: 6 additions & 12 deletions MimeKit/MimeParser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1358,10 +1358,8 @@ unsafe HeaderList ParseHeaders (byte* inbuf)
try {
headersOnly = true;
state = MimeParserState.Headers;
while (state < MimeParserState.Content) {
if (Step (inbuf) == MimeParserState.Error)
throw new FormatException ("Failed to parse headers.");
}
if (Step (inbuf) == MimeParserState.Error)
throw new FormatException ("Failed to parse headers.");
} finally {
headersOnly = false;
}
Expand Down Expand Up @@ -1412,10 +1410,8 @@ unsafe MimeEntity ParseEntity (byte* inbuf)
stream.Seek (offset, SeekOrigin.Begin);

state = MimeParserState.Headers;
while (state < MimeParserState.Content) {
if (Step (inbuf) == MimeParserState.Error)
throw new FormatException ("Failed to parse entity headers.");
}
if (Step (inbuf) == MimeParserState.Error)
throw new FormatException ("Failed to parse entity headers.");

var type = GetContentType (null);
BoundaryType found;
Expand Down Expand Up @@ -1487,10 +1483,8 @@ unsafe MimeMessage ParseMessage (byte* inbuf)
}

// parse the headers
while (state < MimeParserState.Content) {
if (Step (inbuf) == MimeParserState.Error)
throw new FormatException ("Failed to parse message headers.");
}
if (state < MimeParserState.Content && Step (inbuf) == MimeParserState.Error)
throw new FormatException ("Failed to parse message headers.");

var message = new MimeMessage (options, headers);

Expand Down

0 comments on commit 38799b9

Please sign in to comment.