infer_clone/infer/tests/codetoanalyze/java/lab/Leaks.java

46 lines
1.3 KiB

/*
* Copyright (c) 2017 - present Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
package codetoanalyze.java.checkers;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Leaks {
void basicLeakBad() throws FileNotFoundException {
new FileInputStream("file.txt");
}
void doubleLeakBad() throws FileNotFoundException {
new FileInputStream("file1.txt");
new FileInputStream("file2.txt");
}
void basicReleaseOk() throws IOException, FileNotFoundException {
FileInputStream stream = new FileInputStream("file.txt");
stream.close();
}
void acquireTwoForgetOneBad() throws IOException, FileNotFoundException {
FileInputStream stream1 = new FileInputStream("file.txt");
FileInputStream stream2 = new FileInputStream("file.txt");
stream1.close();
}
void acquireTwoThenReleaseOk() throws IOException, FileNotFoundException {
FileInputStream stream1 = new FileInputStream("file.txt");
FileInputStream stream2 = new FileInputStream("file.txt");
stream1.close();
stream2.close();
}
}