On Mon, 1 Nov 2021 20:38:32 GMT, Daniel Jeliński <d...@openjdk.java.net> wrote:
>> The current code that changes cipher suites disposes the new suite instead >> of the old one, which usually silently fails. This patch fixes the code to >> dispose the old instance instead. >> >> DTLS appears to be unaffected: DTLSOutputRecord keeps 2 ciphers and >> correctly [disposes the old >> one](https://github.com/openjdk/jdk/blob/739769c8fc4b496f08a92225a12d07414537b6c0/src/java.base/share/classes/sun/security/ssl/DTLSOutputRecord.java#L106), >> and DTLSInputRecord [doesn't dispose >> anything](https://github.com/openjdk/jdk/blob/4b9303b77b43d890ebacbec38b4ac5db7e171886/src/java.base/share/classes/sun/security/ssl/DTLSInputRecord.java#L57) > > Daniel Jeliński has updated the pull request incrementally with one > additional commit since the last revision: > > avoid modifying DTLSOutputRecord src/java.base/share/classes/sun/security/ssl/SSLEngineOutputRecord.java line 436: > 434: > 435: void queueUpCipherDispose() { > 436: RecordMemo lastMemo = handshakeMemos.getLast(); Sorry, I missed that the getLast could throw exception if it is empty. I may check it before the call to getLast. + if (handshakeMemos.isEmpty()) { + return; + } ------------- PR: https://git.openjdk.java.net/jdk/pull/6084