You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
1.3 KiB

/*
* Copyright (c) 2018-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
package codetoanalyze.java.bufferoverrun;
import java.util.ArrayList;
class Array {
private ArrayList a = new ArrayList<>();
void collection_add_zero_Good() {
a.add(0, 100);
}
ArrayList collection_remove_from_empty_Bad() {
ArrayList b = new ArrayList<>();
b.remove(0);
return b;
}
void null_pruning1_Good() {
if (a == null) {
if (a != null) {
int[] arr = {1, 2, 3, 4, 5};
arr[10] = 1;
}
}
}
void null_pruning1_Bad() {
if (a == null) {
if (a == null) {
int[] arr = {1, 2, 3, 4, 5};
arr[10] = 1;
}
}
}
void null_pruning2_Good_FP() {
if (a != null) {
if (a == null) {
int[] arr = {1, 2, 3, 4, 5};
arr[10] = 1;
}
}
}
void null_pruning2_Bad() {
if (a != null) {
if (a != null) {
int[] arr = {1, 2, 3, 4, 5};
arr[10] = 1;
}
}
}
void negative_alloc_Bad() {
a = new ArrayList<>(-1);
}
void zero_alloc_Good() {
a = new ArrayList<>(0);
}
void positive_alloc_Good() {
a = new ArrayList<>(10);
}
}