Expose tor_compress_is_compression_bomb() as part of the public compression API.

This patch exposes the old `is_compression_bomb()` function as a public
API as part of the compression module.

See https://bugs.torproject.org/21663
This commit is contained in:
Alexander Færøy 2017-04-18 03:12:19 +02:00
parent 6b5172bcf2
commit e6c6606a17
No known key found for this signature in database
GPG Key ID: E15081D5D3C3DB53
2 changed files with 7 additions and 4 deletions

View File

@ -105,10 +105,10 @@ method_bits(compress_method_t method, compression_level_t level)
#define CHECK_FOR_COMPRESSION_BOMB_AFTER (1024*64)
/** @} */
/** Return true if uncompressing an input of size <b>in_size</b> to an input
* of size at least <b>size_out</b> looks like a compression bomb. */
static int
is_compression_bomb(size_t size_in, size_t size_out)
/** Return true if uncompressing an input of size <b>in_size</b> to an input of
* size at least <b>size_out</b> looks like a compression bomb. */
int
tor_compress_is_compression_bomb(size_t size_in, size_t size_out)
{
if (size_in == 0 || size_out < CHECK_FOR_COMPRESSION_BOMB_AFTER)
return 0;

View File

@ -49,6 +49,9 @@ compress_method_t detect_compression_method(const char *in, size_t in_len);
int
tor_compress_memory_level(compression_level_t level);
int
tor_compress_is_compression_bomb(size_t size_in, size_t size_out);
/** Return values from tor_compress_process; see that function's documentation
* for details. */
typedef enum {