Index: trunk/ippTools/src/difftool.c
===================================================================
--- trunk/ippTools/src/difftool.c	(revision 40512)
+++ trunk/ippTools/src/difftool.c	(revision 41549)
@@ -471,4 +471,5 @@
     PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
     PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
+    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
 
     psString query = pxDataGet("difftool_todiffskyfile.sql");
@@ -478,8 +479,13 @@
     }
 
-    if (psListLength(where->list)) {
+    if (where && psListLength(where->list)) {
         psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
         psStringAppend(&query, " AND %s", whereClause);
         psFree(whereClause);
+    } else {
+      if (!all) {
+        psError(PXTOOLS_ERR_SYS, false, "unrestricted query not allowed (try -all");
+        return false;
+      }
     }
     psFree(where);
