summaryrefslogtreecommitdiffstats
path: root/worker/worker.c
diff options
context:
space:
mode:
Diffstat (limited to 'worker/worker.c')
-rw-r--r--worker/worker.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/worker/worker.c b/worker/worker.c
index 01a7be7..d30f7c0 100644
--- a/worker/worker.c
+++ b/worker/worker.c
@@ -42,11 +42,10 @@ int my_mallinfo () {
int main(int argc, char **argv)
{
- char *xslt_file_name;
- char *ipa_policy_type;
- char *policy_file_name;
-
- mtrace();
+ char *xslt_file_name=NULL;
+ char *ipa_policy_type=NULL;
+ char *policy_file_name=NULL;
+ int ret;
if (argc != 2) {
DEBUG(0,
@@ -56,7 +55,13 @@ int main(int argc, char **argv)
policy_file_name=strdup(argv[1]);
- validate_policy(policy_file_name, &ipa_policy_type, &xslt_file_name);
+ ret=validate_policy(policy_file_name, &ipa_policy_type, &xslt_file_name);
+ if ( ret == -1 ) {
+ DEBUG(0,("Invalid policy, aborting.\n"));
+ free(policy_file_name);
+ xmlCleanupParser();
+ exit(-1);
+ }
if ( strncmp( ipa_policy_type, "ipaaction", 9)==0) {
@@ -71,10 +76,7 @@ int main(int argc, char **argv)
free(ipa_policy_type);
free(policy_file_name);
-
xmlCleanupParser();
- printf("xmlMemUsed: %d\n",xmlMemUsed());
- muntrace();
return 0;
}