On Tue, 16 Feb 2021 12:26:54 GMT, Matthias Baesken <mbaes...@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. ------------- Marked as reviewed by alanb (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2586