diff --git a/src/THcDC.cxx b/src/THcDC.cxx
index 56b7132166426c18beae90453842eac4325fc72b..7768a213e23704fa2a4e0c43da864c34c89cc327 100644
--- a/src/THcDC.cxx
+++ b/src/THcDC.cxx
@@ -144,6 +144,8 @@ void THcDC::Setup(const char* name, const char* description)
     if( !newplane or newplane->IsZombie() ) {
       Error( Here(here), "Error creating Drift Chamber plane %s. Call expert.", name);
       MakeZombie();
+      delete [] desc;
+      delete [] desc1;
       return;
     }
     fPlanes.push_back(newplane);
diff --git a/src/THcHallCSpectrometer.cxx b/src/THcHallCSpectrometer.cxx
index 6917fc8ae36566278677ee7a3a1acbbda1b68dc0..89e3f44a206ea4bc004cbec29d3636e8acd704e3 100644
--- a/src/THcHallCSpectrometer.cxx
+++ b/src/THcHallCSpectrometer.cxx
@@ -503,7 +503,7 @@ Int_t THcHallCSpectrometer::BestTrackUsingScin()
       Double_t chi2PerDeg;
 
       THaTrack* aTrack = static_cast<THaTrack*>( fTracks->At(itrack) );
-      if (!aTrack) return -1;
+      if (!aTrack) {delete[] x2Hits; delete[] y2Hits; return -1;}
 
       if ( aTrack->GetNDoF() > fSelNDegreesMin ){
 	chi2PerDeg =  aTrack->GetChi2() / aTrack->GetNDoF();
@@ -640,7 +640,7 @@ Int_t THcHallCSpectrometer::BestTrackUsingPrune()
       keep[ptrack] = kTRUE;
       reject[ptrack] = 0;
       testTracks[ptrack] = static_cast<THaTrack*>( fTracks->At(ptrack) );
-      if (!testTracks[ptrack]) return -1;
+      if (!testTracks[ptrack]) {delete[] keep; delete[] reject; return -1;}
     }
 
     // ! Prune on xptar
diff --git a/src/THcShower.cxx b/src/THcShower.cxx
index d03aca063b5b2fa1868ebc6cb186e16b4b355421..15172b1d71a6692245305a5028dc8fc0f7f5c225 100644
--- a/src/THcShower.cxx
+++ b/src/THcShower.cxx
@@ -748,7 +748,7 @@ Int_t THcShower::CoarseProcess( TClonesArray& tracks)
 
     UInt_t i = 0;
     for (THcShowerClusterListIt ppcl = (*fClusterList).begin();
-	 ppcl != (*fClusterList).end(); ppcl++) {
+	 ppcl != (*fClusterList).end(); ++ppcl) {
 
       cout << "  Cluster #" << i++
 	   <<":  E=" << clE(*ppcl)
@@ -760,7 +760,7 @@ Int_t THcShower::CoarseProcess( TClonesArray& tracks)
 
       Int_t j=0;
       for (THcShowerClusterIt pph=(**ppcl).begin(); pph!=(**ppcl).end();
-	   pph++) {
+	   ++pph) {
 	cout << "  hit " << j++ << ": ";
 	(**pph).show();
       }
@@ -815,7 +815,7 @@ void THcShower::ClusterHits(THcShowerHitSet& HitSet,
       for (THcShowerHitIt i=HitSet.begin(); i!=HitSet.end(); ++i) {
 
 	for (THcShowerClusterIt k=(*cluster).begin(); k!=(*cluster).end();
-	     k++) {
+	     ++k) {
 
 	  if ((**i).isNeighbour(*k)) {
 	    (*cluster).insert(*i);      //If the hit #i is neighbouring a hit
diff --git a/src/THcShowerArray.cxx b/src/THcShowerArray.cxx
index 5075ff4aed4964e6677833714ba7e31f5375e357..e64a577bae1ecb2424de56fc8bc7399bb6816c73 100644
--- a/src/THcShowerArray.cxx
+++ b/src/THcShowerArray.cxx
@@ -531,9 +531,9 @@ Int_t THcShowerArray::CoarseProcess( TClonesArray& tracks )
   Int_t ncl=0;
   Int_t block;
     for (THcShowerClusterListIt ppcl = (*fClusterList).begin();
-	 ppcl != (*fClusterList).end(); ppcl++) {
+	 ppcl != (*fClusterList).end(); ++ppcl) {
       for (THcShowerClusterIt pph=(**ppcl).begin(); pph!=(**ppcl).end();
-	   pph++) {
+	   ++pph) {
        block = ((**pph).hitColumn())*fNRows + (**pph).hitRow()+1;
        fBlock_ClusterID[block-1] = ncl;
       }
@@ -548,7 +548,7 @@ Int_t THcShowerArray::CoarseProcess( TClonesArray& tracks )
 
     UInt_t i = 0;
     for (THcShowerClusterListIt ppcl = (*fClusterList).begin();
-	 ppcl != (*fClusterList).end(); ppcl++) {
+	 ppcl != (*fClusterList).end(); ++ppcl) {
 
       cout << "  Cluster #" << i++
 	   <<":  E=" << clE(*ppcl)
@@ -561,7 +561,7 @@ Int_t THcShowerArray::CoarseProcess( TClonesArray& tracks )
 
       Int_t j=0;
       for (THcShowerClusterIt pph=(**ppcl).begin(); pph!=(**ppcl).end();
-	   pph++) {
+	   ++pph) {
 	cout << "  hit " << j++ << ": ";
 	(**pph).show();
       }
@@ -969,7 +969,7 @@ Int_t THcShowerArray::ProcessHits(TClonesArray* rawhits, Int_t nexthit)
 	  cout << "-";
 	}
 	cout << "+";
-0      }
+      }
       cout << endl;
       for(Int_t row=0;row<fNRows;row++) {
 	hitpic[row][(piccolumn+1)*(fNColumns+1)+1] = '\0';