Index: trunk/ippTools/src/chiptool.c
===================================================================
--- trunk/ippTools/src/chiptool.c	(revision 17219)
+++ trunk/ippTools/src/chiptool.c	(revision 17226)
@@ -154,5 +154,4 @@
         && !psMetadataLookupBool(NULL, config->args, "-all")) {
         psFree(where);
-        where = NULL;
         psError(PXTOOLS_ERR_DATA, false, "search parameters are required");
         return false;
@@ -175,4 +174,5 @@
     if (!query) {
         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
+        psFree(where);
         return false;
     }
@@ -180,8 +180,9 @@
     if (where && psListLength(where->list)) {
         psString whereClause = psDBGenerateWhereConditionSQL(where, "rawExp");
-        psFree(where);
         psStringAppend(&query, " AND %s", whereClause);
         psFree(whereClause);
     }
+
+    psFree(where);
 
     if (pretend) {
@@ -712,5 +713,4 @@
         && !psMetadataLookupBool(NULL, config->args, "-all")) {
         psFree(where);
-        where = NULL;
         psError(PXTOOLS_ERR_DATA, false, "search parameters are required");
         return false;
@@ -720,4 +720,5 @@
     if (!query) {
         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
+        psFree(where);
         return false;
     }
@@ -725,8 +726,9 @@
     if (where && psListLength(where->list)) {
         psString whereClause = psDBGenerateWhereConditionSQL(where, "chipProcessedImfile");
-        psFree(where);
         psStringAppend(&query, " AND %s", whereClause);
         psFree(whereClause);
     }
+
+    psFree(where);
 
     if (!p_psDBRunQuery(config->dbh, query)) {
