-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Clear buffers before returning them to the ArrayPool (#124)
It is possible that sensitive data such as PII is being compressed or decompressed using Snappier. We don't want to return such data to the ArrayPool without zeroing it first, as it could create a security vulnerability if the buffer is reused by some other portion of an application that isn't properly handling the buffer. In some cases, we request the clear as part of the return. However, in others we know we've only used a subset of the buffer so we can optimize by only clearing the portion we've used. This change also removes some unnecessary try..finally blocks to return arrays to the pool during compression. Compression doesn't typically throw exceptions, and in any extreme corner cases we'll simply not return the array to the pool. This simplifies the code and provides a minor performance improvement.
- Loading branch information
1 parent
59d842b
commit b6b2a97
Showing
7 changed files
with
58 additions
and
43 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters