From ba05bc0f7fa5f8dbc8998384bb713a2a69be58b9 Mon Sep 17 00:00:00 2001 From: Erdong zhang Date: Thu, 27 Aug 2020 15:40:13 +0800 Subject: [PATCH] Fix a array bound overflow bug in function umr_clock_manual If i input a wrong clock name or a name not exist in asic_clocks when use umr set clock, the function umr_clock_manual try to access array asic_clocks.clock[i] with index UMR_CLOCK_MAX, final the umr encounter a egmentation fault. --- src/app/clock.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/app/clock.c b/src/app/clock.c index 101da6f..8818918 100644 --- a/src/app/clock.c +++ b/src/app/clock.c @@ -117,7 +117,11 @@ void umr_clock_manual(struct umr_asic *asic, const char* clock_name, void* value break; } } - print_clock(asic_clocks.clocks[i], asic); + + if(i < UMR_CLOCK_MAX) + print_clock(asic_clocks.clocks[i], asic); + else + printf("[ERROR]: Maybe wrong clock name!\n"); } else { printf("[ERROR]: Invalid input!\n"); } -- 2.17.1