]> git.donarmstrong.com Git - debbugs.git/commitdiff
use tmpdir for bugs instead of memory to avoid trouble with large bugs
authorDon Armstrong <don@donarmstrong.com>
Wed, 23 Sep 2015 16:01:07 +0000 (11:01 -0500)
committerDon Armstrong <don@donarmstrong.com>
Wed, 23 Sep 2015 16:01:07 +0000 (11:01 -0500)
Debbugs/CGI/Bugreport.pm

index 02f30c2f1c551114c226007173cf135edcd60a9b..f080986a4389df895ee600e882ff862c6b27e6f8 100644 (file)
@@ -43,6 +43,7 @@ use POSIX qw(strftime);
 use Encode qw(decode_utf8 encode_utf8);
 use URI::Escape qw(uri_escape_utf8);
 use Scalar::Util qw(blessed);
+use File::Temp;
 
 BEGIN{
      ($VERSION) = q$Revision: 494 $ =~ /^Revision:\s+([^\s+])/;
@@ -447,10 +448,10 @@ sub handle_record{
                                                               )
                                                     ) .'">mbox</a>, ';
           my $parser = MIME::Parser->new();
-          # Because we are using memory, not tempfiles, there's no need to
-          # clean up here like in Debbugs::MIME
-          $parser->tmp_to_core(1);
-          $parser->output_to_core(1);
+
+          # this will be cleaned up once it goes out of scope
+          my $tempdir = File::Temp->newdir();
+          $parser->output_under($tempdir->dirname());
           my $entity = $parser->parse_data($record->{text});
           my $r_l = reply_headers($entity);
           $output .= q(<a href=").