RFR: JDK-8261791:(sctp) handleSendFailed in SctpChannelImpl.c potential leaks

Matthias Baesken mbaesken at openjdk.java.net
Wed Feb 17 13:21:38 UTC 2021

On Wed, 17 Feb 2021 12:51:06 GMT, Alan Bateman <alanb at openjdk.org> wrote:

>> In another bug  this question from me  was answered by  Alan Bateman :
>> Btw. while adjusting Java_sun_nio_ch_sctp_SctpChannelImpl_receive0 , I started to wonder what happens to the allocated memory in the same file in handleSendFailed ( if ((addressP = malloc(dataLength)) == NULL) ) in early return cases incl. the CHECK_NULL , is there some deallocation missing there too ?
>> Yes, the error paths in handleSendFailed should be looked at. If NewDirectByteBuffer or recvmsg fails then addressP needs to be freed. Furthermore, if the NewObject fails and bufferObj != NULL then the memory for the direct buffer will need to be freed too (as JNI NewDirectByteBuffer does not setup a cleaner).
>> So I added freeing of the malloced memory to handleSendFailed .
>> Please review !
>> Thanks, Matthias
> The changes looks okay to me. I see Chris has created JDK-8261881 to setup the cleanup.

Hi Alan and Chris, thanks for the reviews.


PR: https://git.openjdk.java.net/jdk/pull/2586

More information about the security-dev mailing list