sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
commit 82b9625f54078aca31947114ad9f26160ecce4be
parent 45c381d1393a2228f185e50beb59de8400ab2d7c
Author: Rich Lane <rlane@club.cc.cmu.edu>
Date:   Tue, 19 Jan 2010 16:48:25 -0500

asciify untrusted strings before displaying in TextMode

Diffstat:
M lib/sup/modes/file-browser-mode.rb | 2 +-
M lib/sup/modes/text-mode.rb | 2 +-
M lib/sup/modes/thread-view-mode.rb | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/sup/modes/file-browser-mode.rb b/lib/sup/modes/file-browser-mode.rb
@@ -47,7 +47,7 @@ protected
     return unless f && f.file?
 
     begin
-      BufferManager.spawn f.to_s, TextMode.new(f.read)
+      BufferManager.spawn f.to_s, TextMode.new(f.read.ascii)
     rescue SystemCallError => e
       BufferManager.flash e.message
     end
diff --git a/lib/sup/modes/text-mode.rb b/lib/sup/modes/text-mode.rb
@@ -29,7 +29,7 @@ class TextMode < ScrollMode
     end
 
     if output
-      BufferManager.spawn "Output of '#{command}'", TextMode.new(output)
+      BufferManager.spawn "Output of '#{command}'", TextMode.new(output.ascii)
     else
       BufferManager.flash "'#{command}' done!"
     end
diff --git a/lib/sup/modes/thread-view-mode.rb b/lib/sup/modes/thread-view-mode.rb
@@ -613,7 +613,7 @@ EOS
     end
 
     if output
-      BufferManager.spawn "Output of '#{command}'", TextMode.new(output)
+      BufferManager.spawn "Output of '#{command}'", TextMode.new(output.ascii)
     else
       BufferManager.flash "'#{command}' done!"
     end
@@ -815,7 +815,7 @@ private
     BufferManager.erase_flash
     BufferManager.completely_redraw_screen
     unless success
-      BufferManager.spawn "Attachment: #{chunk.filename}", TextMode.new(chunk.to_s, chunk.filename)
+      BufferManager.spawn "Attachment: #{chunk.filename}", TextMode.new(chunk.to_s.ascii, chunk.filename)
       BufferManager.flash "Couldn't execute view command, viewing as text."
     end
   end