Peter / Sean,

Thanks for the comments.

> On Jul 10, 2019, at 5:36 AM, Peter Levart <peter.lev...@gmail.com> wrote:
> 
> There are various interleavings of threads that could cause the file to be 
> left undeleted when VM exits.
> 
> To cover concurrent scenarios such as above, the code could use reference 
> counting. Like in the following patch:
> 
> http://cr.openjdk.java.net/~plevart/jdk-dev/8193072_File.undoDeleteOnExit/webrev.01/
>  
> <http://cr.openjdk.java.net/~plevart/jdk-dev/8193072_File.undoDeleteOnExit/webrev.01/>
This looks good to me modulo adding this
        SecurityManager security = System.getSecurityManager();
        if (security != null) {
            security.checkDelete(path);
        }
to cancelDeleteOnExit() as suggested below.

> On Jul 10, 2019, at 7:51 AM, Sean Mullan <sean.mul...@oracle.com> wrote:
> 
> On 7/9/19 7:40 PM, Brian Burkhalter wrote:
>> I don’t know. On the one hand this does not take an action like reading, 
>> writing, or deleting, but on the other it could end up causing files to be 
>> left lying around after VM termination which were expected to be deleted. I 
>> suppose that could be considered to be some sort of security issue.
> 
> Yes I think so.
> 
> I would probably just use the same permission 
> (FilePermission(file,"delete")). If you have been granted permission to 
> delete a file, then you should have permission to cancel that deletion as 
> well.

That’s a  good idea.

Thanks,

Brian

Reply via email to