You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/08/23 18:07:00 UTC
[jira] [Commented] (CB-13208) File plugin on Windows reads entire
file into memory when only a small fragment is requested on
`readAsBinaryString`
[ https://issues.apache.org/jira/browse/CB-13208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16138797#comment-16138797 ]
ASF GitHub Bot commented on CB-13208:
-------------------------------------
GitHub user salbahra opened a pull request:
https://github.com/apache/cordova-plugin-file/pull/216
CB-13208: (windows) Fix `readAsBinaryString` to only read the requested range
### Platforms affected
Windows
### What does this PR do?
Change `readAsBinaryString` on `FileReader` for Windows to use a stream which seeks to the start position and only reads until the requested end instead of reading the entire file to a buffer then slicing the requested fragment.
### What testing has been done on this change?
Plugin change has been tested on Windows as that's the only platform affected.
### Checklist
- [X] [Reported an issue](http://cordova.apache.org/contribute/issues.html) in the JIRA database
- [X] Commit message follows the format: "CB-3232: (android) Fix bug with resolving file paths", where CB-xxxx is the JIRA ID & "android" is the platform affected.
- [X] Added automated test coverage as appropriate for this change.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/Mimeo/cordova-plugin-file master
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/cordova-plugin-file/pull/216.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #216
----
commit 6da561fe7610fa8e4751d1d867a16af75c64019a
Author: Samer Albahra <sa...@gmail.com>
Date: 2017-08-23T18:03:01Z
Change `readAsBinaryString` on Windows to use a stream
----
> File plugin on Windows reads entire file into memory when only a small fragment is requested on `readAsBinaryString`
> --------------------------------------------------------------------------------------------------------------------
>
> Key: CB-13208
> URL: https://issues.apache.org/jira/browse/CB-13208
> Project: Apache Cordova
> Issue Type: Bug
> Components: cordova-plugin-file
> Affects Versions: 6.5.0
> Environment: All Windows UAP applications
> Reporter: Samer Albahra
>
> `readAsBinaryString` for `FileReader` on Windows is reading the entire file to a buffer then slicing the requested fragment causing the app to crash due to out of memory errors. It should instead be using a stream which seeks to the requested start position and only reads the requested length.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org