commit:     8f1bc6d821167d87e21034d108e899e0b5cd14f2
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 20 18:40:49 2018 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Tue Feb 20 20:38:55 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8f1bc6d8

dev-libs/librdkafka: Rev bump to address memory leak

Package-Manager: Portage-2.3.24, Repoman-2.3.6
RepoMan-Options: --force

 .../librdkafka-0.11.3-fix-memory-leak-issue1534.patch | 19 +++++++++++++++++++
 ...afka-0.11.3.ebuild => librdkafka-0.11.3-r1.ebuild} |  2 ++
 2 files changed, 21 insertions(+)

diff --git 
a/dev-libs/librdkafka/files/librdkafka-0.11.3-fix-memory-leak-issue1534.patch 
b/dev-libs/librdkafka/files/librdkafka-0.11.3-fix-memory-leak-issue1534.patch
new file mode 100644
index 00000000000..ae4c3e5bc81
--- /dev/null
+++ 
b/dev-libs/librdkafka/files/librdkafka-0.11.3-fix-memory-leak-issue1534.patch
@@ -0,0 +1,19 @@
+https://github.com/edenhill/librdkafka/commit/8fed971043e642c195860cd77006622d23616c22
+
+--- a/src/rdkafka_msgset_writer.c
++++ b/src/rdkafka_msgset_writer.c
+@@ -436,10 +436,12 @@ rd_kafka_msgset_writer_write_msg_payload 
(rd_kafka_msgset_writer_t *msetw,
+          * room in the buffer we'll copy the payload to the buffer,
+          * otherwise we push a reference to the memory. */
+         if (rkm->rkm_len <= (size_t)rk->rk_conf.msg_copy_max_size &&
+-            rd_buf_write_remains(&rkbuf->rkbuf_buf) > rkm->rkm_len)
++            rd_buf_write_remains(&rkbuf->rkbuf_buf) > rkm->rkm_len) {
+                 rd_kafka_buf_write(rkbuf,
+                                    rkm->rkm_payload, rkm->rkm_len);
+-        else
++                if (free_cb)
++                        free_cb(rkm->rkm_payload);
++        } else
+                 rd_kafka_buf_push(rkbuf, rkm->rkm_payload, rkm->rkm_len,
+                                   free_cb);
+ }

diff --git a/dev-libs/librdkafka/librdkafka-0.11.3.ebuild 
b/dev-libs/librdkafka/librdkafka-0.11.3-r1.ebuild
similarity index 95%
rename from dev-libs/librdkafka/librdkafka-0.11.3.ebuild
rename to dev-libs/librdkafka/librdkafka-0.11.3-r1.ebuild
index 00872b0eadc..f7ec851be53 100644
--- a/dev-libs/librdkafka/librdkafka-0.11.3.ebuild
+++ b/dev-libs/librdkafka/librdkafka-0.11.3-r1.ebuild
@@ -15,6 +15,8 @@ if [[ ${PV} == "9999" ]]; then
 else
        SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
        KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc x86"
+
+       PATCHES=( "${FILESDIR}"/${P}-fix-memory-leak-issue1534.patch )
 fi
 
 LICENSE="BSD-2"

Reply via email to