Skip to content

Commit 27e9186

Browse files
souradeep100edenhill
authored andcommitted
Fix AdminAPI memory leak when broker does not support request (@souradeep100, #2314)
(cherry picked from commit 4070d59)
1 parent 201c3fd commit 27e9186

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

src/rdkafka_request.c

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2785,6 +2785,7 @@ rd_kafka_CreateTopicsRequest (rd_kafka_broker_t *rkb,
27852785

27862786
if (rd_list_cnt(new_topics) == 0) {
27872787
rd_snprintf(errstr, errstr_size, "No topics to create");
2788+
rd_kafka_replyq_destroy(&replyq);
27882789
return RD_KAFKA_RESP_ERR__INVALID_ARG;
27892790
}
27902791

@@ -2794,6 +2795,7 @@ rd_kafka_CreateTopicsRequest (rd_kafka_broker_t *rkb,
27942795
rd_snprintf(errstr, errstr_size,
27952796
"Topic Admin API (KIP-4) not supported "
27962797
"by broker, requires broker version >= 0.10.2.0");
2798+
rd_kafka_replyq_destroy(&replyq);
27972799
return RD_KAFKA_RESP_ERR__UNSUPPORTED_FEATURE;
27982800
}
27992801

@@ -2802,6 +2804,7 @@ rd_kafka_CreateTopicsRequest (rd_kafka_broker_t *rkb,
28022804
rd_snprintf(errstr, errstr_size,
28032805
"CreateTopics.validate_only=true not "
28042806
"supported by broker");
2807+
rd_kafka_replyq_destroy(&replyq);
28052808
return RD_KAFKA_RESP_ERR__UNSUPPORTED_FEATURE;
28062809
}
28072810

@@ -2927,6 +2930,7 @@ rd_kafka_DeleteTopicsRequest (rd_kafka_broker_t *rkb,
29272930

29282931
if (rd_list_cnt(del_topics) == 0) {
29292932
rd_snprintf(errstr, errstr_size, "No topics to delete");
2933+
rd_kafka_replyq_destroy(&replyq);
29302934
return RD_KAFKA_RESP_ERR__INVALID_ARG;
29312935
}
29322936

@@ -2936,6 +2940,7 @@ rd_kafka_DeleteTopicsRequest (rd_kafka_broker_t *rkb,
29362940
rd_snprintf(errstr, errstr_size,
29372941
"Topic Admin API (KIP-4) not supported "
29382942
"by broker, requires broker version >= 0.10.2.0");
2943+
rd_kafka_replyq_destroy(&replyq);
29392944
return RD_KAFKA_RESP_ERR__UNSUPPORTED_FEATURE;
29402945
}
29412946

@@ -2995,6 +3000,7 @@ rd_kafka_CreatePartitionsRequest (rd_kafka_broker_t *rkb,
29953000

29963001
if (rd_list_cnt(new_parts) == 0) {
29973002
rd_snprintf(errstr, errstr_size, "No partitions to create");
3003+
rd_kafka_replyq_destroy(&replyq);
29983004
return RD_KAFKA_RESP_ERR__INVALID_ARG;
29993005
}
30003006

@@ -3004,6 +3010,7 @@ rd_kafka_CreatePartitionsRequest (rd_kafka_broker_t *rkb,
30043010
rd_snprintf(errstr, errstr_size,
30053011
"CreatePartitions (KIP-195) not supported "
30063012
"by broker, requires broker version >= 1.0.0");
3013+
rd_kafka_replyq_destroy(&replyq);
30073014
return RD_KAFKA_RESP_ERR__UNSUPPORTED_FEATURE;
30083015
}
30093016

@@ -3100,6 +3107,7 @@ rd_kafka_AlterConfigsRequest (rd_kafka_broker_t *rkb,
31003107
if (rd_list_cnt(configs) == 0) {
31013108
rd_snprintf(errstr, errstr_size,
31023109
"No config resources specified");
3110+
rd_kafka_replyq_destroy(&replyq);
31033111
return RD_KAFKA_RESP_ERR__INVALID_ARG;
31043112
}
31053113

@@ -3109,6 +3117,7 @@ rd_kafka_AlterConfigsRequest (rd_kafka_broker_t *rkb,
31093117
rd_snprintf(errstr, errstr_size,
31103118
"AlterConfigs (KIP-133) not supported "
31113119
"by broker, requires broker version >= 0.11.0");
3120+
rd_kafka_replyq_destroy(&replyq);
31123121
return RD_KAFKA_RESP_ERR__UNSUPPORTED_FEATURE;
31133122
}
31143123

@@ -3119,6 +3128,7 @@ rd_kafka_AlterConfigsRequest (rd_kafka_broker_t *rkb,
31193128
"AlterConfigs.incremental=true (KIP-248) "
31203129
"not supported by broker, "
31213130
"requires broker version >= 2.0.0");
3131+
rd_kafka_replyq_destroy(&replyq);
31223132
return RD_KAFKA_RESP_ERR__UNSUPPORTED_FEATURE;
31233133
}
31243134

@@ -3157,6 +3167,7 @@ rd_kafka_AlterConfigsRequest (rd_kafka_broker_t *rkb,
31573167
"entries: only set supported "
31583168
"by this broker");
31593169
rd_kafka_buf_destroy(rkbuf);
3170+
rd_kafka_replyq_destroy(&replyq);
31603171
return RD_KAFKA_RESP_ERR__UNSUPPORTED_FEATURE;
31613172
}
31623173
}
@@ -3208,6 +3219,7 @@ rd_kafka_DescribeConfigsRequest (rd_kafka_broker_t *rkb,
32083219
if (rd_list_cnt(configs) == 0) {
32093220
rd_snprintf(errstr, errstr_size,
32103221
"No config resources specified");
3222+
rd_kafka_replyq_destroy(&replyq);
32113223
return RD_KAFKA_RESP_ERR__INVALID_ARG;
32123224
}
32133225

@@ -3217,6 +3229,7 @@ rd_kafka_DescribeConfigsRequest (rd_kafka_broker_t *rkb,
32173229
rd_snprintf(errstr, errstr_size,
32183230
"DescribeConfigs (KIP-133) not supported "
32193231
"by broker, requires broker version >= 0.11.0");
3232+
rd_kafka_replyq_destroy(&replyq);
32203233
return RD_KAFKA_RESP_ERR__UNSUPPORTED_FEATURE;
32213234
}
32223235

0 commit comments

Comments
 (0)