diff options
| author | 2026-03-25 17:20:47 +0100 | |
|---|---|---|
| committer | 2026-03-25 17:20:47 +0100 | |
| commit | a0ee3d43a4bd009893b38df7721b1d2692b3c736 (patch) | |
| tree | 81d6d92549ca6b1f487a7a9b4c734ff1356f53c7 /src | |
| parent | f38a3f2e78bc3fff37ab2107d448865f5b67a4d8 (diff) | |
inliner: fix UB when ninstrtab==0
Diffstat (limited to 'src')
| -rw-r--r-- | src/ir_inliner.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/ir_inliner.c b/src/ir_inliner.c index 02105bb..629dba7 100644 --- a/src/ir_inliner.c +++ b/src/ir_inliner.c @@ -307,7 +307,7 @@ rematerialize(Arena **arena, internstr name, SavedFunc *sv) irinit(&fn); extern int ninstrtab; ninstrtab = sv->ninstrtab; - memcpy(instrtab, sv->instrtab, ninstrtab * sizeof *instrtab); + if (ninstrtab) memcpy(instrtab, sv->instrtab, ninstrtab * sizeof *instrtab); vpushn(&calltab, sv->calltab, sv->ncalltab); vpushn(&phitab, sv->phitab, sv->nphitab); vpushn(&contab, sv->contab, sv->ncontab); |