Có một Vi phạm Sonar:Sonar Vi phạm: An ninh - Mảng được lưu trữ trực tiếp
Sonar Vi phạm: An ninh - Mảng được lưu trữ trực tiếp
public void setMyArray(String[] myArray) {
this.myArray = myArray;
}
Giải pháp:
public void setMyArray(String[] newMyArray) {
if(newMyArray == null) {
this.myArray = new String[0];
} else {
this.myArray = Arrays.copyOf(newMyArray, newMyArray.length);
}
}
Nhưng tôi tự hỏi tại sao?
Umm ... giải pháp mà không làm việc cho tôi, thực sự. Sonar vẫn nhặt nó lên và phàn nàn về nó, mặc dù làm một bản sao. – ndtreviv
@ndtreviv để bạn giải quyết nó như thế nào? – sakura
@ndtreviv: Tôi đã gặp vấn đề này, và lỗi này sẽ không biến mất nếu tên của biến cục bộ được cung cấp cho phương thức này giống như biến cá thể bạn đang lưu trữ. Đảm bảo chúng khác nhau và giải pháp trên sẽ hoạt động. Tôi tìm thấy điều này thông qua [link] sau đây (http://sonarqube.15.x6.nabble.com/Security-Array-is-stored-directly-weirness-td3632714.html) – Matt