Index: trunk/psModules/src/objects/pmPSFtry.c
===================================================================
--- trunk/psModules/src/objects/pmPSFtry.c	(revision 9770)
+++ trunk/psModules/src/objects/pmPSFtry.c	(revision 9777)
@@ -5,6 +5,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.22 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-10-28 20:23:51 $
+ *  @version $Revision: 1.23 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-30 03:03:38 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -58,10 +58,13 @@
 {
 
-    pmModelType type;
+    // validate the requested model name
+    pmModelType type = pmModelSetType (modelName);
+    if (type == -1) {
+        psError (PS_ERR_UNKNOWN, true, "invalid model name %s", modelName);
+        return NULL;
+    }
 
     pmPSFtry *test = (pmPSFtry *) psAlloc(sizeof(pmPSFtry));
 
-    // XXX probably need to increment ref counter
-    type           = pmModelSetType (modelName);
     test->psf      = pmPSFAlloc (type, poissonErrors, psfTrendMask);
     test->sources  = psMemIncrRefCounter(sources);
@@ -104,4 +107,8 @@
 
     pmPSFtry *psfTry = pmPSFtryAlloc (sources, modelName, poissonErrors, psfTrendMask);
+    if (psfTry == NULL) {
+        psError (PS_ERR_UNKNOWN, false, "failed to create allocate psf model");
+        return NULL;
+    }
 
     // stage 1:  fit an independent model (freeModel) to all sources
