@@ -49,23 +49,39 @@ lc_register_callback("HELP", 'h', LC_VAR_NONE, help_cmd, NULL); lc_register_callback("*.ifmodule", 0, LC_VAR_NONE, cmd_ifmodule, NULL); lcpret = lc_process_file("testapp", "test.conf", LC_CONF_APACHE); if (lcpret < 0) { fprintf(stderr, "Error processing config file: %s\n", lc_geterrstr()); + + if (joeval != NULL) { + free(joeval); + } + + lc_cleanup(); + return(EXIT_FAILURE); } lcpret = lc_process(argc, argv, "testapp", LC_CONF_APACHE, "test.cfg"); if (lcpret < 0) { fprintf(stderr, "Error processing config file: %s\n", lc_geterrstr()); + + if (joeval != NULL) { + free(joeval); + } + + lc_cleanup(); + return(EXIT_FAILURE); } lc_cleanup(); if (joeval != NULL) { fprintf(stderr, "joeval = \"%s\"\n", joeval); + + free(joeval); } else { fprintf(stderr, "joeval = \"(null)\"\n"); } fprintf(stderr, "xval = %llu\n", (unsigned long long) xval); fprintf(stderr, "onoff = %i\n", onoff);