aboutsummaryrefslogtreecommitdiff
path: root/src/server/telnet_server.c
diff options
context:
space:
mode:
authorTarek BOCHKATI <tarek.bouchkati@gmail.com>2021-08-18 19:55:48 +0100
committerAntonio Borneo <borneo.antonio@gmail.com>2021-08-30 13:54:06 +0000
commit9a9e9e2c666dcb4987421f89d3b09ff9951cb0a1 (patch)
tree61fd939ac74906d2e90086c63f4fecf6ccfbcdd0 /src/server/telnet_server.c
parent70cd395f3f0b7f7974125ce6e728980e855626ea (diff)
downloadriscv-openocd-9a9e9e2c666dcb4987421f89d3b09ff9951cb0a1.zip
riscv-openocd-9a9e9e2c666dcb4987421f89d3b09ff9951cb0a1.tar.gz
riscv-openocd-9a9e9e2c666dcb4987421f89d3b09ff9951cb0a1.tar.bz2
server/telnet: enhance telnet_move_cursor
instrument the telnet_move_cursor to detect when there is no change of cursor position and if the requested new position is out of bounds. Change-Id: I24da877e538a458da6d2f8ddc2a681eee404d2cb Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/6441 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Diffstat (limited to 'src/server/telnet_server.c')
-rw-r--r--src/server/telnet_server.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/server/telnet_server.c b/src/server/telnet_server.c
index f7b3f64..36b017c 100644
--- a/src/server/telnet_server.c
+++ b/src/server/telnet_server.c
@@ -352,10 +352,14 @@ static int telnet_history_print(struct connection *connection)
static void telnet_move_cursor(struct connection *connection, size_t pos)
{
- struct telnet_connection *tc;
+ struct telnet_connection *tc = connection->priv;
size_t tmp;
- tc = connection->priv;
+ if (pos == tc->line_cursor) /* nothing to do */
+ return;
+
+ if (pos > tc->line_size) /* out of bounds */
+ return;
if (pos < tc->line_cursor) {
tmp = tc->line_cursor - pos;