aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlonkaars <loek@pipeframe.xyz>2021-10-08 16:23:46 +0200
committerlonkaars <loek@pipeframe.xyz>2021-10-08 16:23:46 +0200
commit1aefca1baaf385d15c014247d3a5e489d13a6450 (patch)
tree70ef611d2c6ff1bc268ba10dd94f212d7a708f54
parent334cd04bfcf17cdfd4035e53ec08316401c1f17d (diff)
fix index out of bounds crash
-rw-r--r--main/main.ino5
-rw-r--r--readme.md6
2 files changed, 5 insertions, 6 deletions
diff --git a/main/main.ino b/main/main.ino
index 67222ee..e084af1 100644
--- a/main/main.ino
+++ b/main/main.ino
@@ -1,5 +1,7 @@
#include "constants.h"
+#define MIN(a, b) ((a) > (b) ? (b) : (a))
+
/** BN (KB) -> PIN & PIN
* 1 (0) -> D8 & D9
* 2 (1) -> D8 & D7
@@ -215,7 +217,8 @@ void kb_onevent(kb_event ev) {
// voeg getal toe aan het einde van de code
code[codei] = num;
- codei++; //TODO: fix array out of bounds crash
+ codei++;
+ codei = MIN(codei, MAX_CODE_LEN - 1);
}
}
}
diff --git a/readme.md b/readme.md
index 10d68b6..35ddee4 100644
--- a/readme.md
+++ b/readme.md
@@ -2,11 +2,6 @@
(In Dutch)
-## Dingen die nog gedaan moeten worden
-
-- Index out of bounds crash wanneer er meer dan MAX_CODE_LEN cijfers ingetoetst worden
-- Heel misschien een grappige easter egg ofzo
-
## Coole functies
- Event-gebaseerde keyboard lezer
@@ -23,3 +18,4 @@ De veiligheid van deze software is niet gegarandeerd, want als de Arduino
crasht of uitvalt wordt de code terug gezet op 0000. Dat maakt niet veel uit
want je kunt de kluis toch openen door hem een lichte ram te geven vanaf de
onderkant terwijl je hem open draait.
+