Language: Java
Label: vulnerable
CWE: CWE-502 \u2014 Deserialization of Untrusted Data
The product deserializes untrusted data without sufficiently verifying that the resulting data will be valid.

Code:
	public void writeBooleanArray(boolean[] arr) throws IOException {
		if (arr == null) {
			writeInt(-1);
		} else if (arr.length == 0) {
			writeInt(0);
			writeByteArray(null);
		} else {
			BitSet bits = new BitSet(arr.length);
			for (int i = 0; i < arr.length; i++) {
				bits.set(i, arr[i]);
			}
			writeInt(arr.length);
			writeByteArray(bits.toByteArray());
		}
	}