sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
commit 1cc47908f928359145badddbdbf154d741829965
parent 132881e77b90bbe4e82d6fe2a79feae5f2f6b8fb
Author: Kornilios Kourtis <kkourt@cslab.ece.ntua.gr>
Date:   Tue, 28 Jul 2009 19:58:23 +0300

handle malformed multiplart messages

Diffstat:
M lib/sup/message.rb | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/lib/sup/message.rb b/lib/sup/message.rb
@@ -409,11 +409,15 @@ private
 
       chunks
     elsif m.header.content_type == "message/rfc822"
-      payload = RMail::Parser.read(m.body)
-      from = payload.header.from.first
-      from_person = from ? Person.from_address(from.format) : nil
-      [Chunk::EnclosedMessage.new(from_person, payload.to_s)] +
-        message_to_chunks(payload, encrypted)
+      if m.body
+        payload = RMail::Parser.read(m.body)
+        from = payload.header.from.first
+        from_person = from ? Person.from_address(from.format) : nil
+        [Chunk::EnclosedMessage.new(from_person, payload.to_s)] +
+          message_to_chunks(payload, encrypted)
+      else
+        [Chunk::EnclosedMessage.new(nil, "")]
+      end
     else
       filename =
         ## first, paw through the headers looking for a filename