RFR JDK-8007609 (original) (raw)

David Holmes david.holmes at oracle.com
Wed Feb 6 10:38:08 UTC 2013


On 6/02/2013 8:18 PM, Alan Bateman wrote:

On 05/02/2013 23:49, John Zavgren wrote:

Greetings:

I modified the code in src/windows/native/java/io/WinNTFileSystemmd.c so that it checks the return value of realloc() and frees memory when there is an error. The webrev image of this change is visible at: http://cr.openjdk.java.net/~jzavgren/8007609/webrev.01/ Thanks! John Zavgren Formatting aside, it looks like the change means that a realloc fail will leave the file open. I think this is all that is needed: WCHAR* newResult = (WCHAR*)realloc(...); if (newResult != NULL) { len = (*GetFinalPathNameByHandlefunc)( h, newResult, len, 0); } else { free(result); len = 0; } result = newResult;

If you move the "result = newResult" inside the if then you don't even need to free in the else.

But yes I missed the fact that the close logic at the end of the function has to be executed - so no early returns on error. Sorry about that.

David

-Alan.



More information about the core-libs-dev mailing list