Index: /branches/pap_branch_080320/ppMerge/src/ppMergeLoop.c
===================================================================
--- /branches/pap_branch_080320/ppMerge/src/ppMergeLoop.c	(revision 17182)
+++ /branches/pap_branch_080320/ppMerge/src/ppMergeLoop.c	(revision 17183)
@@ -168,6 +168,5 @@
                             psFree(readouts); \
                             psFree(outRO); \
-                            psFree(view); \
-                            return false; \
+                            goto ERROR; \
                         } \
                     }
@@ -184,15 +183,26 @@
                 switch (type) {
                   case PPMERGE_TYPE_SHUTTER:
-                    pmShutterCorrectionGenerate(outRO, NULL, readouts, shutterRef,
-                                                shutters->data[cellNum], iter, rej,
-                                                maskVal);
+                    if (!pmShutterCorrectionGenerate(outRO, NULL, readouts, shutterRef,
+                                                     shutters->data[cellNum], iter, rej, maskVal)) {
+                        psFree(readouts);
+                        psFree(outRO);
+                        goto ERROR;
+                    }
                     break;
                   case PPMERGE_TYPE_DARK:
-                    pmDarkCombine(outCell, readouts, darkOrdinates, darkNorm, iter, rej, maskVal);
+                    if (!pmDarkCombine(outCell, readouts, darkOrdinates, darkNorm, iter, rej, maskVal)) {
+                        psFree(readouts);
+                        psFree(outRO);
+                        goto ERROR;
+                    }
                     break;
                   case PPMERGE_TYPE_BIAS:
                   case PPMERGE_TYPE_FLAT:
                   case PPMERGE_TYPE_FRINGE:
-                    pmReadoutCombine(outRO, readouts, zeros, scales, combination);
+                    if (!pmReadoutCombine(outRO, readouts, zeros, scales, combination)) {
+                        psFree(readouts);
+                        psFree(outRO);
+                        goto ERROR;
+                    }
                     break;
                   default:
