commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steven Christou (JIRA)" <j...@apache.org>
Subject [jira] [Created] (IO-453) Regression in FileUtils.readFileToString from 2.0.1
Date Thu, 17 Jul 2014 20:45:06 GMT
Steven Christou created IO-453:
----------------------------------

             Summary: 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.4, 2.3, 2.2, 2.1
            Reporter: Steven Christou


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)

Mime
View raw message