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;
|
||||
mjContact* con;
|
||||
mjtNum cpos[6], cmargin[6], *jac, *jacdifp, *jacdifr, *jac1p, *jac2p, *jac1r, *jac2r;
|
||||
mjMARKSTACK;
|
||||
|
||||
if (mjDISABLED(mjDSBL_CONTACT) || ncon == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
mjMARKSTACK;
|
||||
|
||||
// allocate Jacobian
|
||||
jac = mj_stackAllocNum(d, 6*NV);
|
||||
jacdifp = mj_stackAllocNum(d, 3*NV);
|
||||
@@ -1831,13 +1832,14 @@ void mj_makeConstraint(const mjModel* m, mjData* d) {
|
||||
// compute efc_AR
|
||||
void mj_projectConstraint(const mjModel* m, mjData* d) {
|
||||
int nefc = d->nefc, nv = m->nv;
|
||||
mjMARKSTACK;
|
||||
|
||||
// nothing to do
|
||||
if (nefc == 0 || !mj_isDual(m)) {
|
||||
return;
|
||||
}
|
||||
|
||||
mjMARKSTACK;
|
||||
|
||||
// space for backsubM2(J')' and its traspose
|
||||
mjtNum* JM2 = mj_stackAllocNum(d, nefc*nv);
|
||||
mjtNum* JM2T = mj_stackAllocNum(d, nv*nefc);
|
||||
|
||||
Reference in New Issue
Block a user