diff options
| author | 2026-01-09 13:56:35 +0100 | |
|---|---|---|
| committer | 2026-01-09 13:56:35 +0100 | |
| commit | 043e7b1075b398d71333d847ab3c3d3229745415 (patch) | |
| tree | 75fe8e815cd2d3d053fa8e7ff325aff5af54b094 | |
| parent | 9567ba9173ed194504ac0f714c5c7cecc6d0383d (diff) | |
x86_64/isel: fix edgecase of fixarg from seljmp derefing nullpointer
| -rw-r--r-- | x86_64/isel.c | 2 |
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; |