Forráskód Böngészése

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
Alexander Færøy 7 éve
szülő
commit
e6c6606a17
2 módosított fájl, 7 hozzáadás és 4 törlés
  1. 4 4
      src/common/torgzip.c
  2. 3 0
      src/common/torgzip.h

+ 4 - 4
src/common/torgzip.c

@@ -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;

+ 3 - 0
src/common/torgzip.h

@@ -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 {