فهرست منبع

null byte check for JSON.stringify in archiving

Brian Gough 9 سال پیش
والد
کامیت
b71a15a6a0
1فایلهای تغییر یافته به همراه3 افزوده شده و 0 حذف شده
  1. 3 0
      services/track-changes/app/coffee/MongoAWS.coffee

+ 3 - 0
services/track-changes/app/coffee/MongoAWS.coffee

@@ -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("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?
 			return callback new Error("refusing to send pack with TTL to s3") if result.expiresAt?
 			uncompressedData = JSON.stringify(result)
 			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) ->
 			zlib.gzip uncompressedData, (err, buf) ->
 				logger.log {project_id, doc_id, pack_id, origSize: uncompressedData.length, newSize: buf.length}, "compressed pack"
 				logger.log {project_id, doc_id, pack_id, origSize: uncompressedData.length, newSize: buf.length}, "compressed pack"
 				return callback(err) if err?
 				return callback(err) if err?