Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by [EMAIL PROTECTED]

http://bugzilla.ximian.com/show_bug.cgi?id=77423

--- shadow/77423        2006-01-31 15:53:43.000000000 -0500
+++ shadow/77423.tmp.17555      2006-01-31 15:53:43.000000000 -0500
@@ -0,0 +1,61 @@
+Bug#: 77423
+Product: Mono: Runtime
+Version: 1.1
+OS: 
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Normal
+Component: io-layer
+AssignedTo: [EMAIL PROTECTED]                            
+ReportedBy: [EMAIL PROTECTED]               
+QAContact: [EMAIL PROTECTED]
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: Locked file can be wiped out by a StreamWriter
+
+The following test case opens a file with FileShare.None access, so in
+theory it can't be modified by another writer. However, when a StreamWriter
+tries to rewrite the file, although it fails with an exception, the file is
+wiped out.
+
+using System;
+using System.IO;
+using System.Threading;
+
+public class Test
+{
+       static string TheFile = "/tmp/somefile.txt";
+       
+       public static void Main (string[] args)
+       {
+               // Write some file
+               StreamWriter sw = new StreamWriter (TheFile);
+               sw.WriteLine ("Hello!");
+               sw.Close ();
+       
+               // Open and lock the file
+               FileStream s = File.Open (TheFile, FileMode.Open, 
FileAccess.Read,
+FileShare.None);
+               
+               // Try to modify the locked file
+               try {
+                       StreamWriter w = new StreamWriter (TheFile, false);
+                       w.Write ("Bye!");
+                       w.Close ();
+               } catch {
+                       Console.WriteLine ("File was locked!");
+               }
+               
+               s.Close ();
+               
+               // Show the contents
+               StreamReader sr = new StreamReader (TheFile);
+               Console.WriteLine ("Contents: " + sr.ReadToEnd ());
+               sr.Close ();
+
+               File.Delete (TheFile);
+       }
+}
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to