import java.io.*;

public class TwoStreams {
	int x;
	public void twoStreamsWrong() throws IOException {
		BufferedReader r = null;
		Writer w = null;

		try {
			r = new BufferedReader(new InputStreamReader(new FileInputStream("hello")));
			String l = r.readLine();
			w = new OutputStreamWriter(new FileOutputStream("blah"));
			w.write(l);
		} finally {
			if (r != null) {
				r.close();
			}
			if (w != null) {
				try {
					w.close();
				} catch (IOException e) {
				}
			}
		}
	}

	public void nullDereferenceCheck(TwoStreams o) throws IOException {
		BufferedReader r = new BufferedReader(
			new InputStreamReader(
			new FileInputStream("hello")));
		int i = o.x;
		r.close();
		}
	public void twoStreamsRight() throws IOException {
		BufferedReader r = null;
		Writer w = null;

		try {
			r = new BufferedReader(new InputStreamReader(new FileInputStream("hello")));
			String l = r.readLine();
			w = new OutputStreamWriter(new FileOutputStream("blah"));
			w.write(l);
		} finally {
			if (w != null) {
				try {
					w.close();
				} catch (IOException e) {
				}
			}
			if (r != null) {
				r.close();
			}
		}
	}
}

import java.io.*;

public class TwoStreams {
	public void twoStreamsWrong() throws IOException {
		BufferedReader r = null;
		Writer w = null;

		try {
			r = new BufferedReader(new InputStreamReader(new FileInputStream("hello")));
			String l = r.readLine();
			w = new OutputStreamWriter(new FileOutputStream("blah"));
			w.write(l);
		} finally {
			if (r != null) {
				r.close();
			}
			if (w != null) {
				try {
					w.close();
				} catch (IOException e) {
				}
			}
		}
	}

	public void twoStreamsRight() throws IOException {
		BufferedReader r = null;
		Writer w = null;

		try {
			r = new BufferedReader(new InputStreamReader(new FileInputStream("hello")));
			String l = r.readLine();
			w = new OutputStreamWriter(new FileOutputStream("blah"));
			w.write(l);
		} finally {
			if (w != null) {
				try {
					w.close();
				} catch (IOException e) {
				}
			}
			if (r != null) {
				r.close();
			}
		}
	}
}

--- 
+++ 
@@ -1,6 +1,7 @@
 import java.io.*;
 
 public class TwoStreams {
+	int x;
 	public void twoStreamsWrong() throws IOException {
 		BufferedReader r = null;
 		Writer w = null;
@@ -23,6 +24,13 @@
 		}
 	}
 
+	public void nullDereferenceCheck(TwoStreams o) throws IOException {
+		BufferedReader r = new BufferedReader(
+			new InputStreamReader(
+			new FileInputStream("hello")));
+		int i = o.x;
+		r.close();
+		}
 	public void twoStreamsRight() throws IOException {
 		BufferedReader r = null;
 		Writer w = null;
Check for potential null pointer exception


git-svn-id: e7d6bde23f017c9ff4efd468d79d66def666766b@2103 eae3c2d3-9b19-0410-a86e-396b6ccb6ab3
