From 4590de5c7f221aa1ae4d11fd98af439241f4258f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20Gr=C3=B6n?= Date: Mon, 25 May 2020 16:57:01 +0200 Subject: Fix array out of bounds access bug This is triggered for example when icetime is invoked with an empty design. --- icetime/icetime.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'icetime') diff --git a/icetime/icetime.cc b/icetime/icetime.cc index 0735b00..9026c7c 100644 --- a/icetime/icetime.cc +++ b/icetime/icetime.cc @@ -62,16 +62,16 @@ std::map net_symbols; bool get_config_bit(int tile_x, int tile_y, int bit_row, int bit_col) { - if (int(config_bits.size()) < tile_x) + if (int(config_bits.size()) <= tile_x) return false; - if (int(config_bits[tile_x].size()) < tile_y) + if (int(config_bits[tile_x].size()) <= tile_y) return false; - if (int(config_bits[tile_x][tile_y].size()) < bit_row) + if (int(config_bits[tile_x][tile_y].size()) <= bit_row) return false; - if (int(config_bits[tile_x][tile_y][bit_row].size()) < bit_col) + if (int(config_bits[tile_x][tile_y][bit_row].size()) <= bit_col) return false; return config_bits[tile_x][tile_y][bit_row][bit_col]; -- cgit v1.2.3