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
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);
|
|
}
|
|
}
|