diff --git a/src/ciderlib/twod/twodest.c b/src/ciderlib/twod/twodest.c index d51297f93..147f5072b 100644 --- a/src/ciderlib/twod/twodest.c +++ b/src/ciderlib/twod/twodest.c @@ -66,9 +66,22 @@ TWOdestroy(TWOdevice *pDevice) FREE( pElem ); } FREE( pDevice->elements ); + for (int xIndex = 1; xIndex < pDevice->numXNodes; xIndex++) { + FREE(pDevice->elemArray[xIndex]); + } FREE( pDevice->elemArray ); } + if (pDevice->pMaterials) { + TWOmaterial* pMtmp = pDevice->pMaterials; + while (pMtmp) { + TWOmaterial* pMtmpnext = pMtmp->next; + FREE(pMtmp); + pMtmp = pMtmpnext; + } + } + + /* destroy the contacts & channels */ /* NOT IMPLEMENTED */