Summary: In SIL, Java's array member is a pointer to an array, while C++'s is the array itself. This diff differentiate them in evaluating abstract locations. Reviewed By: ezgicicek, mbouaziz Differential Revision: D14021451 fbshipit-source-id: 00f14fe3bmaster
parent
b243fae86c
commit
82590756d9
@ -0,0 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019-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;
|
||||||
|
|
||||||
|
public class ArrayMember {
|
||||||
|
public int[] buf;
|
||||||
|
|
||||||
|
public void load_array_member_Good() {
|
||||||
|
int[] a = new int[10];
|
||||||
|
int x = buf[0];
|
||||||
|
if (x == 9) {
|
||||||
|
a[x] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void load_array_member_Bad() {
|
||||||
|
int[] a = new int[10];
|
||||||
|
int x = buf[0];
|
||||||
|
if (x == 10) {
|
||||||
|
a[x] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue