mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-04-20 05:53:26 +00:00
DynASM: Fix crash in dasm_encode() when some section is empty
Fixes GH #1041
This commit is contained in:
parent
8635cbabf3
commit
e795b8a7ae
@ -141,6 +141,7 @@ void dasm_setup(Dst_DECL, const void *actionlist)
|
|||||||
memset((void *)D->lglabels, 0, D->lgsize);
|
memset((void *)D->lglabels, 0, D->lgsize);
|
||||||
if (D->pclabels) memset((void *)D->pclabels, 0, D->pcsize);
|
if (D->pclabels) memset((void *)D->pclabels, 0, D->pcsize);
|
||||||
for (i = 0; i < D->maxsection; i++) {
|
for (i = 0; i < D->maxsection; i++) {
|
||||||
|
D->sections[i].rbuf = D->sections[i].buf - DASM_SEC2POS(i);
|
||||||
D->sections[i].pos = DASM_SEC2POS(i);
|
D->sections[i].pos = DASM_SEC2POS(i);
|
||||||
D->sections[i].ofs = 0;
|
D->sections[i].ofs = 0;
|
||||||
}
|
}
|
||||||
|
@ -143,6 +143,7 @@ void dasm_setup(Dst_DECL, const void *actionlist)
|
|||||||
memset((void *)D->lglabels, 0, D->lgsize);
|
memset((void *)D->lglabels, 0, D->lgsize);
|
||||||
if (D->pclabels) memset((void *)D->pclabels, 0, D->pcsize);
|
if (D->pclabels) memset((void *)D->pclabels, 0, D->pcsize);
|
||||||
for (i = 0; i < D->maxsection; i++) {
|
for (i = 0; i < D->maxsection; i++) {
|
||||||
|
D->sections[i].rbuf = D->sections[i].buf - DASM_SEC2POS(i);
|
||||||
D->sections[i].pos = DASM_SEC2POS(i);
|
D->sections[i].pos = DASM_SEC2POS(i);
|
||||||
D->sections[i].ofs = 0;
|
D->sections[i].ofs = 0;
|
||||||
}
|
}
|
||||||
|
@ -140,6 +140,7 @@ void dasm_setup(Dst_DECL, const void *actionlist)
|
|||||||
memset((void *)D->lglabels, 0, D->lgsize);
|
memset((void *)D->lglabels, 0, D->lgsize);
|
||||||
if (D->pclabels) memset((void *)D->pclabels, 0, D->pcsize);
|
if (D->pclabels) memset((void *)D->pclabels, 0, D->pcsize);
|
||||||
for (i = 0; i < D->maxsection; i++) {
|
for (i = 0; i < D->maxsection; i++) {
|
||||||
|
D->sections[i].rbuf = D->sections[i].buf - DASM_SEC2POS(i);
|
||||||
D->sections[i].pos = DASM_SEC2POS(i);
|
D->sections[i].pos = DASM_SEC2POS(i);
|
||||||
D->sections[i].ofs = 0;
|
D->sections[i].ofs = 0;
|
||||||
}
|
}
|
||||||
|
@ -140,6 +140,7 @@ void dasm_setup(Dst_DECL, const void *actionlist)
|
|||||||
memset((void *)D->lglabels, 0, D->lgsize);
|
memset((void *)D->lglabels, 0, D->lgsize);
|
||||||
if (D->pclabels) memset((void *)D->pclabels, 0, D->pcsize);
|
if (D->pclabels) memset((void *)D->pclabels, 0, D->pcsize);
|
||||||
for (i = 0; i < D->maxsection; i++) {
|
for (i = 0; i < D->maxsection; i++) {
|
||||||
|
D->sections[i].rbuf = D->sections[i].buf - DASM_SEC2POS(i);
|
||||||
D->sections[i].pos = DASM_SEC2POS(i);
|
D->sections[i].pos = DASM_SEC2POS(i);
|
||||||
D->sections[i].ofs = 0;
|
D->sections[i].ofs = 0;
|
||||||
}
|
}
|
||||||
|
@ -139,6 +139,7 @@ void dasm_setup(Dst_DECL, const void *actionlist)
|
|||||||
memset((void *)D->lglabels, 0, D->lgsize);
|
memset((void *)D->lglabels, 0, D->lgsize);
|
||||||
if (D->pclabels) memset((void *)D->pclabels, 0, D->pcsize);
|
if (D->pclabels) memset((void *)D->pclabels, 0, D->pcsize);
|
||||||
for (i = 0; i < D->maxsection; i++) {
|
for (i = 0; i < D->maxsection; i++) {
|
||||||
|
D->sections[i].rbuf = D->sections[i].buf - DASM_SEC2POS(i);
|
||||||
D->sections[i].pos = DASM_SEC2POS(i);
|
D->sections[i].pos = DASM_SEC2POS(i);
|
||||||
D->sections[i].ofs = 0;
|
D->sections[i].ofs = 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user