From: Timo Sirainen Date: Tue, 6 Aug 2013 13:28:08 +0000 (+0300) Subject: dsync: Memory leak fix at deinit. X-Git-Tag: 2.2.6~155 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f5fa1c506e8829b328a3b06827b3138c0d924cbf;p=thirdparty%2Fdovecot%2Fcore.git dsync: Memory leak fix at deinit. --- diff --git a/src/doveadm/dsync/dsync-ibc-stream.c b/src/doveadm/dsync/dsync-ibc-stream.c index d5748079bd..3ef4356cd5 100644 --- a/src/doveadm/dsync/dsync-ibc-stream.c +++ b/src/doveadm/dsync/dsync-ibc-stream.c @@ -323,7 +323,14 @@ static void dsync_ibc_stream_init(struct dsync_ibc_stream *ibc) static void dsync_ibc_stream_deinit(struct dsync_ibc *_ibc) { struct dsync_ibc_stream *ibc = (struct dsync_ibc_stream *)_ibc; + unsigned int i; + for (i = ITEM_DONE + 1; i < ITEM_END_OF_LIST; i++) { + if (ibc->serializers[i] != NULL) + dsync_serializer_deinit(&ibc->serializers[i]); + if (ibc->deserializers[i] != NULL) + dsync_deserializer_deinit(&ibc->deserializers[i]); + } if (ibc->cur_decoder != NULL) dsync_deserializer_decode_finish(&ibc->cur_decoder); if (ibc->value_output != NULL)