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 writeData(LPDataOutput output) throws IOException {
		super.writeData(output);

		IClientState[] clientStates = new IClientState[] { renderState, coreState, bcPluggableState, pipe };
		byte[][] clientStateBuffers = new byte[][] { bytesRenderState, bytesCoreState, bytesBCPluggableState, bytesPipe };
		for (int i = 0; i < clientStates.length; i++) {
			clientStateBuffers[i] = LPDataIOWrapper.collectData(clientStates[i]::writeData);
			output.writeByteArray(clientStateBuffers[i]);
		}
	}