Index: /trunk/ppImage/src/ppImageParseCamera.c
===================================================================
--- /trunk/ppImage/src/ppImageParseCamera.c	(revision 11198)
+++ /trunk/ppImage/src/ppImageParseCamera.c	(revision 11199)
@@ -123,7 +123,8 @@
             filters = psListAlloc(NULL);
             psListAdd (filters, PS_LIST_HEAD, mdi);
+        } else if (mdi->type == PS_DATA_METADATA_MULTI) {
+            filters = psMemIncrRefCounter(mdi->data.list);
         } else {
-            if (mdi->type != PS_DATA_METADATA_MULTI) psAbort ("ppImage", "invalid type for FRINGE.FILTERS");
-            filters = psMemIncrRefCounter(mdi->data.list);
+            psAbort ("ppImage", "invalid type for FRINGE.FILTERS");
         }
 
@@ -137,4 +138,6 @@
             options->doFringe = true;
         }
+        psFree(iter);
+        psFree(filters);
     }
 skip_fringe:
