<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -154,11 +154,21 @@ module RMail
           # of this chunk, refrain from returning it.
           unless found_last_delimiter or input_gave_nil
             start = chunk.rindex(/\n/) || 0
-            if chunk.index(@might_be_delimiter_re, start)
-              @caryover = chunk[start..-1]
-              chunk[start..-1] = ''
-              chunk = nil if chunk.length == 0
-            end
+
+	    # chunk might be frozen - prevent errors by being cautios
+	    begin
+	      if chunk.index(@might_be_delimiter_re, start)
+		@caryover = chunk[start..-1]
+		chunk[start..-1] = ''
+		chunk = nil if chunk.length == 0
+	      end
+	    rescue =&gt; e
+	      # we ony rescue frozen errors. The rest gets re-raised
+	      unless e.message =~ /modify frozen string/i
+		raise e
+	      end
+	    end
+
           end
 
           unless chunk.nil?</diff>
      <filename>lib/rmail/parser/multipart.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>40f19e21b04cd29255f19a42ba918d95ba1cae7d</id>
    </parent>
  </parents>
  <author>
    <name>Hartog C. de Mik</name>
    <email>hartog.de.mik@simplic.it</email>
  </author>
  <url>http://github.com/coffeeaddict/rubymail/commit/d19340087fd7b9f9ca7855ea280f35b493da9737</url>
  <id>d19340087fd7b9f9ca7855ea280f35b493da9737</id>
  <committed-date>2009-04-20T23:49:00-07:00</committed-date>
  <authored-date>2009-04-20T23:49:00-07:00</authored-date>
  <message>preventing errors on (somehow) frozen strings</message>
  <tree>aa5179b71b1079035125f819a03ce1c7a2804889</tree>
  <committer>
    <name>Hartog C. de Mik</name>
    <email>hartog.de.mik@simplic.it</email>
  </committer>
</commit>
