[13] 8216172: File.renameTo(File dest) should check for NPE at the very beginning

Brian Burkhalter brian.burkhalter at oracle.com
Thu Jan 10 22:21:36 UTC 2019


Hi Lance,

I was originally going to do that but there are other null checks in the same class and I did not know it would be worthwhile. I would think do none or do all.

Thanks,

Brian

> On Jan 10, 2019, at 2:20 PM, Lance Andersen <lance.andersen at oracle.com> wrote:
> 
> Looks fine Brian.
> 
> One question would it be worth using Objects.requireNonNull(dest)?  I have no strong preference, just wondering your thoughts.
> 
> 
> 
>> On Jan 10, 2019, at 5:16 PM, Brian Burkhalter <brian.burkhalter at oracle.com <mailto:brian.burkhalter at oracle.com>> wrote:
>> 
>> https://bugs.openjdk.java.net/browse/JDK-8216172 <https://bugs.openjdk.java.net/browse/JDK-8216172> <https://bugs.openjdk.java.net/browse/JDK-8216172 <https://bugs.openjdk.java.net/browse/JDK-8216172>>
>> 
>> Proposed simple change included below as diff. All pertinent java/io regression tests pass.
>> 
>> Thanks,
>> 
>> Brian
>> 
>> --- a/src/java.base/share/classes/java/io/File.java
>> +++ b/src/java.base/share/classes/java/io/File.java
>> @@ -1,5 +1,5 @@
>> /*
>> - * Copyright (c) 1994, 2018, Oracle and/or its affiliates. All rights reserved.
>> + * Copyright (c) 1994, 2019, Oracle and/or its affiliates. All rights reserved.
>>  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>>  *
>>  * This code is free software; you can redistribute it and/or modify it
>> @@ -29,11 +29,11 @@
>> import java.net.URL;
>> import java.net.MalformedURLException;
>> import java.net.URISyntaxException;
>> +import java.nio.file.FileSystems;
>> +import java.nio.file.Path;
>> +import java.security.SecureRandom;
>> +import java.util.ArrayList;
>> import java.util.List;
>> -import java.util.ArrayList;
>> -import java.security.SecureRandom;
>> -import java.nio.file.Path;
>> -import java.nio.file.FileSystems;
>> import sun.security.action.GetPropertyAction;
>> 
>> /**
>> @@ -1395,14 +1395,14 @@
>>      *          If parameter <code>dest</code> is <code>null</code>
>>      */
>>     public boolean renameTo(File dest) {
>> +        if (dest == null) {
>> +            throw new NullPointerException();
>> +        }
>>         SecurityManager security = System.getSecurityManager();
>>         if (security != null) {
>>             security.checkWrite(path);
>>             security.checkWrite(dest.path);
>>         }
>> -        if (dest == null) {
>> -            throw new NullPointerException();
>> -        }
>>         if (this.isInvalid() || dest.isInvalid()) {
>>             return false;
>>         }
>> 
> 
> 



More information about the core-libs-dev mailing list