You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Eric Citaire (JIRA)" <ji...@apache.org> on 2010/12/10 10:42:02 UTC
[jira] Issue Comment Edited: (CXF-1924) Infinite loop in
FileUtils.getDefaultTempDir() when "java.io.tmpdir" directory does not
exist
[ https://issues.apache.org/jira/browse/CXF-1924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12969844#action_12969844 ]
Eric Citaire edited comment on CXF-1924 at 12/10/10 4:41 AM:
-------------------------------------------------------------
I'd like to reopen this issue because it still goes in an infinite loop when the property is set to an non-*writable* directory. The fix doesn't check that.
May be something like this would prevent an infinite loop :
{{s = System.getProperty("java.io.tmpdir");}}
{{File checkExists = new File(s);}}
{{if (!checkExists.exists() || !checkExists.isDirectory() || !checkExists.canWrite()) {}}
{{throw new RuntimeException("The directory "}}
{{+ checkExists.getAbsolutePath()}}
{{+ " is not a writable directory");}}
{{}}}
{{File f = new File(s, "cxf-tmp-" + x);}}
{{for (int attempts=0; attempts<10; attempts++) {}}
{{x = (int)(Math.random() * 1000000);}}
{{f = new File(s, "cxf-tmp-" + x);}}
{{}}}
Thank you.
was (Author: eric.citaire):
I'd like to reopen this issue because it still goes in an infinite loop when the property is set to an non-*writable* directory. The fix doesn't check that.
Thank you.
> Infinite loop in FileUtils.getDefaultTempDir() when "java.io.tmpdir" directory does not exist
> ---------------------------------------------------------------------------------------------
>
> Key: CXF-1924
> URL: https://issues.apache.org/jira/browse/CXF-1924
> Project: CXF
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.1.4, 2.2
> Reporter: Jarek Gawor
> Assignee: Sean O'Callaghan
> Fix For: 2.0.10, 2.1.4
>
>
> FileUtils.getDefaultTempDir() can go into a infinite loop when the "java.io.tmpdir" system property is set to an non-existent directory. Here's the code that causes the problem:
> s = System.getProperty("java.io.tmpdir");
> File f = new File(s, "cxf-tmp-" + x);
> while (!f.mkdir()) {
> x = (int)(Math.random() * 1000000);
> f = new File(s, "cxf-tmp-" + x);
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.