Index: trunk/psLib/src/math/psMatrix.c
===================================================================
--- trunk/psLib/src/math/psMatrix.c	(revision 3313)
+++ trunk/psLib/src/math/psMatrix.c	(revision 3341)
@@ -21,6 +21,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.25 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-02-24 00:19:51 $
+ *  @version $Revision: 1.26 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-02-28 23:34:10 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -452,4 +452,5 @@
     if(numRowsIn!=numColsOut && numRowsOut!=numColsIn) {
         psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMatrix_TRANSPOSE_MISMATCH);
+        TRANSPOSE_CLEANUP;
     }
 
@@ -542,5 +543,5 @@
                 "Image does not have dim with 1 col or 1 row: (%d x %d).",
                 inImage->numRows, inImage->numCols);
-        return outVector;
+        psMatrixToVector_EXIT;
     }
 
@@ -557,5 +558,5 @@
                     "Image and vector sizes differ: (%d vs %d).",
                     inImage->numRows, outVector->n);
-            return outVector;
+            psMatrixToVector_EXIT;
         }
 
@@ -573,5 +574,5 @@
                     "Image and vector sizes differ: (%d vs %d).",
                     inImage->numCols, outVector->n);
-            return outVector;
+            psMatrixToVector_EXIT;
         }
 
@@ -603,10 +604,10 @@
                     "Image has more than 1 column: numCols = %d.",
                     outImage->numCols);
-            return outImage;
+            VECTORTOMATRIX_CLEANUP;
         } else if (outImage->numRows != inVector->n) {
             psError(PS_ERR_BAD_PARAMETER_SIZE, true,
                     "Image and vector sizes differ: (%d vs %d).",
                     outImage->numRows, inVector->n);
-            return outImage;
+            VECTORTOMATRIX_CLEANUP;
         }
 
@@ -622,10 +623,10 @@
                     "Image has more than 1 row: numRows = %d.",
                     outImage->numRows);
-            return outImage;
+            VECTORTOMATRIX_CLEANUP;
         } else if (outImage->numCols != inVector->n) {
             psError(PS_ERR_BAD_PARAMETER_SIZE, true,
                     "Image and vector sizes differ: (%d vs %d).",
                     outImage->numCols, inVector->n);
-            return outImage;
+            VECTORTOMATRIX_CLEANUP;
         }
 
