spdk/0015-spdk_top-fix-app-crashing-on-tab-selection-with-TAB-.patch
2021-07-13 14:43:07 +08:00

64 lines
2.1 KiB
Diff

From d1bc0054cdebc60d469e570610590c13c2234591 Mon Sep 17 00:00:00 2001
From: Krzysztof Karas <krzysztof.karas@intel.com>
Date: Thu, 4 Feb 2021 10:30:00 +0100
Subject: [PATCH 15/15] spdk_top: fix app crashing on tab selection with TAB
key
Fixes spdk_top crashing problem upon selecting a row in one tab,
then switching with TAB key to a different tab with fewer rows
and calling pop-up details window with ENTER key.
Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6367 (master)
(cherry picked from commit 6a343482193bf728d3e82bd5b1994bf767533aef)
Change-Id: I52c5729eca0ce0eaad88767ff3add471a780140a
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6729
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
---
app/spdk_top/spdk_top.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/app/spdk_top/spdk_top.c b/app/spdk_top/spdk_top.c
index c996235..402c2a5 100644
--- a/app/spdk_top/spdk_top.c
+++ b/app/spdk_top/spdk_top.c
@@ -2027,6 +2027,7 @@ show_thread(uint8_t current_page)
get_data();
+ assert(thread_number < g_threads_stats.threads.threads_count);
for (i = 0; i < g_threads_stats.threads.threads_count; i++) {
thread_info[i] = &g_threads_stats.threads.thread_info[i];
}
@@ -2067,6 +2068,7 @@ show_core(uint8_t current_page)
get_data();
+ assert(core_number < g_cores_stats.cores.cores_count);
for (i = 0; i < g_cores_stats.cores.cores_count; i++) {
core_info[i] = &g_cores_stats.cores.core[i];
}
@@ -2178,6 +2180,7 @@ show_poller(uint8_t current_page)
get_data();
prepare_poller_data(current_page, pollers, &count, current_page);
+ assert(poller_number < count);
poller_win = newwin(POLLER_WIN_HEIGHT, POLLER_WIN_WIDTH,
(g_max_row - poller_counter) / 2, (g_max_col - POLLER_WIN_HOR_POS) / 2);
@@ -2300,6 +2303,7 @@ show_stats(void)
} else {
active_tab = THREADS_TAB;
}
+ g_selected_row = 0;
current_page = 0;
switch_tab(active_tab);
break;
--
1.8.3.1