aboutsummaryrefslogtreecommitdiffhomepage
path: root/x86_64/isel.c
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2026-01-09 13:56:35 +0100
committerlemon <lsof@mailbox.org>2026-01-09 13:56:35 +0100
commit043e7b1075b398d71333d847ab3c3d3229745415 (patch)
tree75fe8e815cd2d3d053fa8e7ff325aff5af54b094 /x86_64/isel.c
parent9567ba9173ed194504ac0f714c5c7cecc6d0383d (diff)
x86_64/isel: fix edgecase of fixarg from seljmp derefing nullpointer
Diffstat (limited to 'x86_64/isel.c')
-rw-r--r--x86_64/isel.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/x86_64/isel.c b/x86_64/isel.c
index 8a845ef..90217d5 100644
--- a/x86_64/isel.c
+++ b/x86_64/isel.c
@@ -90,7 +90,7 @@ fixarg(union ref *r, struct instr *ins, struct block *blk, int *curi)
}
if (docopy)
*r = insertinstr(blk, (*curi)++, mkinstr(Ocopy, con->cls, *r));
- } else if (ins->op != Omove && con->issym && r == &ins->r) {
+ } else if (op != Omove && con->issym && ins && r == &ins->r) {
*r = insertinstr(blk, (*curi)++, mkinstr(Ocopy, KPTR, mkaddr((struct addr){*r})));
} else if (in_range(op, Odiv, Ourem) && kisint(ins->cls))
goto DivImm;