You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by so...@apache.org on 2020/02/08 12:39:55 UTC

[dubbo] branch master updated: Fix SelectTelnetHandler.telnet IndexOutOfBoundsException

This is an automated email from the ASF dual-hosted git repository.

songkun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/master by this push:
     new 89e1b94  Fix SelectTelnetHandler.telnet IndexOutOfBoundsException
89e1b94 is described below

commit 89e1b94f1017e2094b6022bbbe5fd35e84b7b19d
Author: AndyXu <95...@qq.com>
AuthorDate: Sat Feb 8 20:39:16 2020 +0800

    Fix SelectTelnetHandler.telnet IndexOutOfBoundsException
---
 .../src/main/java/org/apache/dubbo/qos/legacy/SelectTelnetHandler.java  | 2 +-
 .../test/java/org/apache/dubbo/qos/legacy/InvokerTelnetHandlerTest.java | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/legacy/SelectTelnetHandler.java b/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/legacy/SelectTelnetHandler.java
index 700b6ae..2db7f54 100644
--- a/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/legacy/SelectTelnetHandler.java
+++ b/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/legacy/SelectTelnetHandler.java
@@ -51,7 +51,7 @@ public class SelectTelnetHandler implements TelnetHandler {
         if (!StringUtils.isInteger(message) || Integer.parseInt(message) < 1 || Integer.parseInt(message) > methodList.size()) {
             return "Illegal index ,please input select 1~" + methodList.size();
         }
-        Method method = methodList.get(Integer.parseInt(message));
+        Method method = methodList.get(Integer.parseInt(message) - 1);
         channel.setAttribute(SELECT_METHOD_KEY, method);
         channel.setAttribute(SELECT_KEY, Boolean.TRUE);
         String invokeMessage = (String) channel.getAttribute(InvokeTelnetHandler.INVOKE_MESSAGE_KEY);
diff --git a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/legacy/InvokerTelnetHandlerTest.java b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/legacy/InvokerTelnetHandlerTest.java
index fa7d0c3..fd0f2b2 100644
--- a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/legacy/InvokerTelnetHandlerTest.java
+++ b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/legacy/InvokerTelnetHandlerTest.java
@@ -150,6 +150,8 @@ public class InvokerTelnetHandlerTest {
         result = select.telnet(mockChannel, "1");
         //result dependent on method order.
         assertTrue(result.contains("result: 8") || result.contains("result: \"Dubbo\""));
+        result = select.telnet(mockChannel, "2");
+        assertTrue(result.contains("result: 8") || result.contains("result: \"Dubbo\""));
     }
 
     @Test