Index: trunk/ippTools/src/pxadmin.c
===================================================================
--- trunk/ippTools/src/pxadmin.c	(revision 10045)
+++ trunk/ippTools/src/pxadmin.c	(revision 10046)
@@ -29,4 +29,6 @@
 int main(int argc, char **argv)
 {
+    psLibInit(NULL);
+
     pxConfig *config = pxAdminConfig(NULL, argc, argv);
 
@@ -34,18 +36,15 @@
         case PXADMIN_MODE_RECREATE:
             if (!pxDeleteTables(config)) {
-                psErrorStackPrint(stderr, "table deletion failed");
-                exit(EXIT_FAILURE);
+                goto FAIL;
             }
             // fall through
         case PXADMIN_MODE_CREATE:
             if (!pxCreateTables(config)) {
-                psErrorStackPrint(stderr, "table creation failed");
-                exit(EXIT_FAILURE);
+                goto FAIL;
             }
             break;
         case PXADMIN_MODE_DELETE:
             if (!pxDeleteTables(config)) {
-                psErrorStackPrint(stderr, "table deletion failed");
-                exit(EXIT_FAILURE);
+                goto FAIL;
             }
             break;
@@ -54,4 +53,17 @@
     }
 
+    psFree(config);
+    pmConfigDone();
+    psLibFinalize();
+
     exit(EXIT_SUCCESS);
+
+FAIL:
+    psErrorStackPrint(stderr, "\n");
+
+    psFree(config);
+    pmConfigDone();
+    psLibFinalize();
+
+    exit(EXIT_FAILURE);
 }
