Skip to content

Commit e845497

Browse files
author
Ranjan Dasgupta
authored
Merge pull request #899 from BaekSeungYeol/develop
Fix case where Recursively calling the same method causes StackOverFlow
2 parents 6a6cd0d + 9ab015d commit e845497

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

  • org.eclipse.paho.mqttv5.client/src/main/java/org/eclipse/paho/mqttv5/client

org.eclipse.paho.mqttv5.client/src/main/java/org/eclipse/paho/mqttv5/client/MqttClient.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -527,7 +527,16 @@ public IMqttToken subscribe(String topicFilter, int qos, IMqttMessageListener me
527527

528528
public IMqttToken subscribe(String[] topicFilters, int[] qos, IMqttMessageListener[] messageListeners)
529529
throws MqttException {
530-
return this.subscribe(topicFilters, qos, messageListeners);
530+
if (topicFilters.length != qos.length) {
531+
throw new MqttException(MqttClientException.REASON_CODE_UNEXPECTED_ERROR);
532+
}
533+
534+
MqttSubscription[] subscriptions = new MqttSubscription[topicFilters.length];
535+
for (int i = 0; i < topicFilters.length; ++i) {
536+
subscriptions[i] = new MqttSubscription(topicFilters[i], qos[i]);
537+
}
538+
539+
return this.subscribe(subscriptions, messageListeners);
531540
}
532541

533542
public IMqttToken subscribe(MqttSubscription[] subscriptions, IMqttMessageListener[] messageListeners) throws MqttException {

0 commit comments

Comments
 (0)