summaryrefslogtreecommitdiff
path: root/dev-libs/librdkafka/files/librdkafka-0.11.3-fix-memory-leak-issue1534.patch
blob: ae4c3e5bc81e9ed6b93bf0579835c0b03c71bfe6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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);
 }