Index: /branches/eam_rel9_p0/psModules/src/objects/pmObjects.c
===================================================================
--- /branches/eam_rel9_p0/psModules/src/objects/pmObjects.c	(revision 6376)
+++ /branches/eam_rel9_p0/psModules/src/objects/pmObjects.c	(revision 6377)
@@ -6,6 +6,6 @@
  *  @author EAM, IfA: significant modifications.
  *
- *  @version $Revision: 1.5.4.5 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-02-01 22:24:05 $
+ *  @version $Revision: 1.5.4.6 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-02-08 06:10:29 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -78,4 +78,5 @@
     psFree(tmp->modelPSF);
     psFree(tmp->modelEXT);
+    psFree(tmp->blends);
     psTrace(__func__, 4, "---- %s() end ----\n", __func__);
 }
@@ -1636,7 +1637,13 @@
     for (psS32 i = 0; i < source->pixels->numRows; i++) {
         for (psS32 j = 0; j < source->pixels->numCols; j++) {
+            // skip masked points
             if (source->mask->data.U8[i][j]) {
                 continue;
             }
+            // skip zero-weight points
+            if (source->weight->data.F32[i][j] == 0) {
+                continue;
+            }
+
             psVector *coord = psVectorAlloc(2, PS_TYPE_F32);
 
@@ -1646,9 +1653,5 @@
             x->data[nPix] = (psPtr *) coord;
             y->data.F32[nPix] = source->pixels->data.F32[i][j];
-
             // psMinimizeLMChi2 takes wt = 1/dY^2
-            if (source->weight->data.F32[i][j] == 0) {
-                continue;
-            }
             yErr->data.F32[nPix] = 1.0 / source->weight->data.F32[i][j];
             nPix++;
@@ -1720,4 +1723,5 @@
             dparams->data.F32[i] = delta->data.F64[i];
         }
+        psFree (delta);
     }
 
@@ -1746,4 +1750,7 @@
     psFree(covar);
     psFree(paramMask);
+    psFree(params_min);
+    psFree(params_max);
+    psFree(beta_lim);
 
     rc = (onPic && fitStatus);
