read resource files safely

put a limit on the amount of data read
This commit is contained in:
Brian Gough
2017-08-18 11:17:01 +01:00
parent 6921cf25b8
commit fc1782e74c
3 changed files with 32 additions and 8 deletions

View File

@@ -1,8 +1,8 @@
Path = require "path"
fs = require "fs"
mkdirp = require "mkdirp"
logger = require "logger-sharelatex"
settings = require("settings-sharelatex")
SafeReader = require "./SafeReader"
module.exports = ResourceListManager =
@@ -18,7 +18,8 @@ module.exports = ResourceListManager =
loadResourceList: (basePath, callback = (error) ->) ->
resourceListFile = Path.join(basePath, @RESOURCE_LIST_FILE)
fs.readFile resourceListFile, (err, resourceList) ->
# limit file to 128K, compile directory is user accessible
SafeReader.readFile resourceListFile, 128*1024, 'utf8', (err, resourceList) ->
return callback(err) if err?
resources = ({path: path} for path in resourceList?.toString()?.split("\n") or [])
callback(null, resources)