Fix mjData stack frame leakages.
PiperOrigin-RevId: 562091591 Change-Id: Ia7bb8a70ccba6bd40edc06ad8ebfac16e4286836
This commit is contained in:
committed by
Copybara-Service
parent
33f51856c1
commit
89f47c33e4
@@ -920,12 +920,13 @@ void mj_instantiateContact(const mjModel* m, mjData* d) {
|
|||||||
int dim, b1, b2, NV = m->nv, *chain = NULL;
|
int dim, b1, b2, NV = m->nv, *chain = NULL;
|
||||||
mjContact* con;
|
mjContact* con;
|
||||||
mjtNum cpos[6], cmargin[6], *jac, *jacdifp, *jacdifr, *jac1p, *jac2p, *jac1r, *jac2r;
|
mjtNum cpos[6], cmargin[6], *jac, *jacdifp, *jacdifr, *jac1p, *jac2p, *jac1r, *jac2r;
|
||||||
mjMARKSTACK;
|
|
||||||
|
|
||||||
if (mjDISABLED(mjDSBL_CONTACT) || ncon == 0) {
|
if (mjDISABLED(mjDSBL_CONTACT) || ncon == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mjMARKSTACK;
|
||||||
|
|
||||||
// allocate Jacobian
|
// allocate Jacobian
|
||||||
jac = mj_stackAllocNum(d, 6*NV);
|
jac = mj_stackAllocNum(d, 6*NV);
|
||||||
jacdifp = mj_stackAllocNum(d, 3*NV);
|
jacdifp = mj_stackAllocNum(d, 3*NV);
|
||||||
@@ -1831,13 +1832,14 @@ void mj_makeConstraint(const mjModel* m, mjData* d) {
|
|||||||
// compute efc_AR
|
// compute efc_AR
|
||||||
void mj_projectConstraint(const mjModel* m, mjData* d) {
|
void mj_projectConstraint(const mjModel* m, mjData* d) {
|
||||||
int nefc = d->nefc, nv = m->nv;
|
int nefc = d->nefc, nv = m->nv;
|
||||||
mjMARKSTACK;
|
|
||||||
|
|
||||||
// nothing to do
|
// nothing to do
|
||||||
if (nefc == 0 || !mj_isDual(m)) {
|
if (nefc == 0 || !mj_isDual(m)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mjMARKSTACK;
|
||||||
|
|
||||||
// space for backsubM2(J')' and its traspose
|
// space for backsubM2(J')' and its traspose
|
||||||
mjtNum* JM2 = mj_stackAllocNum(d, nefc*nv);
|
mjtNum* JM2 = mj_stackAllocNum(d, nefc*nv);
|
||||||
mjtNum* JM2T = mj_stackAllocNum(d, nv*nefc);
|
mjtNum* JM2T = mj_stackAllocNum(d, nv*nefc);
|
||||||
|
|||||||
Reference in New Issue
Block a user