You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Sebb (JIRA)" <ji...@apache.org> on 2014/07/31 01:21:44 UTC

[jira] [Resolved] (IO-453) Regression in FileUtils.readFileToString from 2.0.1

     [ https://issues.apache.org/jira/browse/IO-453?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sebb resolved IO-453.
---------------------

       Resolution: Fixed
    Fix Version/s: 2.5

URL: http://svn.apache.org/r1614791
Log:
NET-453 - Regression in FileUtils.readFileToString from 2.0.1

Modified:
    commons/proper/io/trunk/src/changes/changes.xml
    commons/proper/io/trunk/src/main/java/org/apache/commons/io/FileUtils.java


> Regression in FileUtils.readFileToString from 2.0.1
> ---------------------------------------------------
>
>                 Key: IO-453
>                 URL: https://issues.apache.org/jira/browse/IO-453
>             Project: Commons IO
>          Issue Type: Bug
>          Components: Utilities
>    Affects Versions: 2.1, 2.2, 2.3, 2.4
>            Reporter: Steven Christou
>             Fix For: 2.5
>
>         Attachments: IO-453.diff
>
>
> FileUtils.readFileToString has changed it's behavior to make a call from {{IOUtils.toByteArray(in)}} to {{IOUtils.toByteArray(in, file.length())}} in {{FileUtils.readFileToString}}. This is a regression because if the file.length = 0, then it will return 0. According to the javadocs for [File#length|http://docs.oracle.com/javase/6/docs/api/java/io/File.html#length()], it is possible to return 0 if it is a System dependent entities, so even though the File.length might return 0, the stream is still open and  
> Steps to reproduce (Ubuntu):
> 1. Execute {{nohup sleep 10000 &}} in a terminal, and get the process id of the sleep command ({{ps -ef | grep sleep}}).
> 2. Call {{FileUtils.readFileToString(new File("/proc/$PID/environ"));}} where $PID is the process ID from step 1.
> You will notice that in 2.0.1 it returns several elements, however in 2.1 it will return nothing.
> See [~ndeloof]'s comment in https://github.com/apache/commons-io/commit/53a40a6d9dcaaa616b404255406edc30fe2d524c.



--
This message was sent by Atlassian JIRA
(v6.2#6252)