summaryrefslogtreecommitdiffstats
path: root/tpu.c
diff options
context:
space:
mode:
authorLouis Burda <quent.burda@gmail.com>2023-07-25 03:07:09 +0200
committerLouis Burda <quent.burda@gmail.com>2023-07-25 03:07:09 +0200
commitf621bed8f9bf20eca167d7cfa40840992c26da09 (patch)
tree9cd451b6c47146c5aa7971c1fad8c8c3af2bb2cc /tpu.c
parentc1e767700fc14fbe385a9a8d9ad0cfa4d5315c35 (diff)
downloadtis100-f621bed8f9bf20eca167d7cfa40840992c26da09.tar.gz
tis100-f621bed8f9bf20eca167d7cfa40840992c26da09.zip
Fix oob instructions access
Diffstat (limited to 'tpu.c')
-rw-r--r--tpu.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/tpu.c b/tpu.c
index efc4eb8..ee5a173 100644
--- a/tpu.c
+++ b/tpu.c
@@ -181,11 +181,12 @@ tpu_deinit(struct tpu *tpu)
{
int i;
- label_map_deinit(&tpu->label_map);
- for (i = 0; i < TPU_MAX_INST; i++) {
- if (tpu->insts[i].ops[0].type == OP_LABEL)
+ for (i = 0; i < tpu->inst_cnt; i++) {
+ if (tpu->insts[i].opcnt >= 1
+ && tpu->insts[i].ops[0].type == OP_LABEL)
free(tpu->insts[i].ops[0].val.label);
}
+ label_map_deinit(&tpu->label_map);
}
struct tpu_inst *