diff options
Diffstat (limited to 'worker/worker.c')
-rw-r--r-- | worker/worker.c | 20 |
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; } |