--- libgig/trunk/src/DLS.cpp 2011/09/19 21:41:34 2274 +++ libgig/trunk/src/DLS.cpp 2012/02/11 11:08:01 2310 @@ -600,8 +600,10 @@ // copy old loops array (skipping given loop) for (int i = 0, o = 0; i < SampleLoops; i++) { if (&pSampleLoops[i] == pLoopDef) continue; - if (o == SampleLoops - 1) + if (o == SampleLoops - 1) { + delete[] pNewLoops; throw Exception("Could not delete Sample Loop, because it does not exist"); + } pNewLoops[o] = pSampleLoops[i]; o++; }