Reduce memory allocations due to zlib's uncompress().
authorGuus Sliepen <guus@tinc-vpn.org>
Sun, 18 Feb 2018 14:38:12 +0000 (15:38 +0100)
committerGuus Sliepen <guus@tinc-vpn.org>
Sun, 18 Feb 2018 14:38:33 +0000 (15:38 +0100)
commit6be453fc63da9f87455b5e579cb686f95fa92102
treed0d870b1eb1f211981ea16c1337fcfe3f206c6db
parent8f2ef1a174d18a9efdf9b0bd2417132fe7d84e9f
Reduce memory allocations due to zlib's uncompress().

Everytime uncompress() is called, zlib allocates some buffer on the heap
and frees it again. When compression is enabled, this is the biggest source
of memory allocations in tinc. Instead of using this function, use
inflate(), which can store its state in a z_stream variable, which avoids
(re)allocating memory for every packet received.

This issue was found thanks to heaptrack.
src/net_packet.c