]> granicus.if.org Git - sudo/commitdiff
Fix use of uninitialized variable (conf) if sudoers_debug_register()
authorTodd C. Miller <Todd.Miller@sudo.ws>
Thu, 1 Mar 2018 17:18:48 +0000 (10:18 -0700)
committerTodd C. Miller <Todd.Miller@sudo.ws>
Thu, 1 Mar 2018 17:18:48 +0000 (10:18 -0700)
happens to fail.

plugins/sudoers/cvtsudoers.c

index 520a1d60db10c11d8d31af6b4262a4b21b39723f..7e0f82c79b87bb50be60d9bacc6d5e562ccdd675 100644 (file)
@@ -82,7 +82,7 @@ main(int argc, char *argv[])
     int ch, exitcode = EXIT_FAILURE;
     enum sudoers_formats output_format = format_ldif;
     enum sudoers_formats input_format = format_sudoers;
-    struct cvtsudoers_config *conf;
+    struct cvtsudoers_config *conf = NULL;
     const char *input_file = "-";
     const char *output_file = "-";
     const char *conf_file = _PATH_CVTSUDOERS_CONF;
@@ -398,12 +398,14 @@ cvtsudoers_conf_free(struct cvtsudoers_config *conf)
 {
     debug_decl(cvtsudoers_conf_free, SUDOERS_DEBUG_UTIL)
 
-    free(conf->sudoers_base);
-    free(conf->input_format);
-    free(conf->output_format);
-    conf->sudoers_base = NULL;
-    conf->input_format = NULL;
-    conf->output_format = NULL;
+    if (conf != NULL) {
+       free(conf->sudoers_base);
+       free(conf->input_format);
+       free(conf->output_format);
+       conf->sudoers_base = NULL;
+       conf->input_format = NULL;
+       conf->output_format = NULL;
+    }
 
     debug_return;
 }