[ Bug #116636 ] Bug in StringIO.write()
http://sourceforge.net/bugs/?func=detailbug&bug_id=116636&group_id=5470
bobalex@rsv.ricoh.com

Bug report: If the file position is less than the end of the "file",
and a write is performed extending past then end of the file, the data
string is corrupted.

Solution: in write(), when writing past the end, properly set self.len
when newpos is > self.len.
diff --git a/Lib/StringIO.py b/Lib/StringIO.py
index 334bf85..6952b1a 100644
--- a/Lib/StringIO.py
+++ b/Lib/StringIO.py
@@ -129,6 +129,8 @@
 				self.buflist = []
 			self.buflist = [self.buf[:self.pos], s, self.buf[newpos:]]
 			self.buf = ''
+			if newpos > self.len:
+				self.len = newpos
 		else:
 			self.buflist.append(s)
 			self.len = newpos