Index: trunk/ippTools/src/pxadminConfig.c
===================================================================
--- trunk/ippTools/src/pxadminConfig.c	(revision 10440)
+++ trunk/ippTools/src/pxadminConfig.c	(revision 10913)
@@ -34,9 +34,7 @@
 
     config->modules = pmConfigRead(&argc, argv, NULL);
-
-
-    if (! config->modules) {
-        psErrorStackPrint(stderr, "Can't find site configuration!\n");
-        exit(EXIT_FAILURE);
+    if (!config->modules) {
+        psError(PS_ERR_UNKNOWN, false, "Can't find site configuration");
+        goto FAIL;
     }
 
@@ -80,5 +78,5 @@
         psArgumentHelp(arguments);
         psFree(arguments);
-        exit(EXIT_FAILURE);
+        goto FAIL; 
     }
 
@@ -86,5 +84,5 @@
         psArgumentHelp(arguments);
         psFree(arguments);
-        exit(EXIT_FAILURE);
+        goto FAIL; 
     }
 
@@ -95,5 +93,5 @@
         psArgumentHelp(arguments);
         psFree(arguments);
-        exit(EXIT_FAILURE);
+        goto FAIL; 
     }
 
@@ -104,8 +102,18 @@
     if (!config->dbh) {
         psError(PS_ERR_UNKNOWN, false, "Can't configure database");
-        exit(EXIT_FAILURE);
+        goto FAIL; 
     }
 
+    // save argv/argc
+    config->argv = argv;
+    config->argc = argc;
+
     return config;
+
+FAIL:
+    psFree(config);
+    pmConfigDone();
+    psLibFinalize();
+    exit(EXIT_FAILURE);
 }
 
