null byte check for JSON.stringify in archiving

This commit is contained in:
Brian Gough 2017-06-01 13:36:13 +01:00
parent 853f9eebac
commit b71a15a6a0

View file

@ -46,6 +46,9 @@ module.exports = MongoAWS =
return callback new Error("cannot find pack to send to s3") if not result?
return callback new Error("refusing to send pack with TTL to s3") if result.expiresAt?
uncompressedData = JSON.stringify(result)
if uncompressedData.indexOf("\u0000") != -1
error = new Error("null bytes found in upload")
logger.error err: error, project_id: project_id, doc_id: doc_id, pack_id: pack_id, error.message
zlib.gzip uncompressedData, (err, buf) ->
logger.log {project_id, doc_id, pack_id, origSize: uncompressedData.length, newSize: buf.length}, "compressed pack"
return callback(err) if err?