Fix potentially uninitialised variables in the Windows tools
authorNick Clifton <nickc@redhat.com>
Thu, 19 May 2022 14:05:12 +0000 (15:05 +0100)
committerNick Clifton <nickc@redhat.com>
Thu, 19 May 2022 14:05:12 +0000 (15:05 +0100)
binutils/ChangeLog
binutils/dlltool.c
binutils/dllwrap.c
binutils/mclex.c
binutils/resrc.c
binutils/srconv.c
binutils/windmc.c

index 6697697b9d0633dc7e16bbae6318e14452e00f49..e5b973d08d94e10baa8050cfd67d5c9f0eba66b5 100644 (file)
@@ -1,3 +1,14 @@
+2022-05-19  Nick Clifton  <nickc@redhat.com>
+
+       * dlltool.c (run): Initialise errmsg_fmt.
+       * dllwrap.c (run): Likewise.
+       * resrc.c (run_cmd): Likewise.
+       * mclex.c (mc_add_keyword): Initialise usz.
+       * srconv.c (wd_hd): Initialise hd.spare2.
+       * windmc.c (mc_add_node_lang): Initialise s.
+       (mc_generate_bin_item): Initialise cvt_txt.
+       (main): Initialise u.
+
 2022-05-18  Nick Clifton  <nickc@redhat.com>
 
        PR 29135
index 89871510b459a78ba1076368e3752c677f8daaf6..e2af20847009945b4c61a6fef08268fbb4429715 100644 (file)
@@ -1268,7 +1268,7 @@ run (const char *what, char *args)
   int pid, wait_status;
   int i;
   const char **argv;
-  char *errmsg_fmt, *errmsg_arg;
+  char *errmsg_fmt = NULL, *errmsg_arg = NULL;
   char *temp_base = choose_temp_base ();
 
   inform (_("run: %s %s"), what, args);
index 713322905c4ef5cfbf833c7c33d834a53a44031b..1be3cec72f1d5c002b8f3215fc4230af5fcf9bad 100644 (file)
@@ -350,7 +350,7 @@ run (const char *what, char *args)
   int pid, wait_status, retcode;
   int i;
   const char **argv;
-  char *errmsg_fmt, *errmsg_arg;
+  char *errmsg_fmt = NULL, *errmsg_arg = NULL;
   char *temp_base = choose_temp_base ();
   int in_quote;
   char sep;
index fd2888625b905d7f0112cf0e384bbf8cc2513489..fe6f127d903e9a4b5e07dc2eae80a094ad801dc9 100644 (file)
@@ -212,7 +212,7 @@ enum_severity (int e)
 static void
 mc_add_keyword_ascii (const char *sz, int rid, const char *grp, rc_uint_type nv, const char *sv)
 {
-  unichar *usz, *usv = NULL;
+  unichar *usz = NULL, *usv = NULL;
   rc_uint_type usz_len;
 
   unicode_from_codepage (&usz_len, &usz, sz, CP_ACP);
index 249eb9a87edf5664dae426d5521b60aca22546a3..42afdc1d954e4131926f778c38157381927f3729 100644 (file)
@@ -200,7 +200,7 @@ run_cmd (char *cmd, const char *redir)
   int pid, wait_status, retcode;
   int i;
   const char **argv;
-  char *errmsg_fmt, *errmsg_arg;
+  char *errmsg_fmt = NULL, *errmsg_arg = NULL;
   char *temp_base = choose_temp_base ();
   int in_quote;
   char sep;
index c77db99a9e73a47a72048341ecbe583659c93184..6fc98bc49d53a55ed8a34ac589a8dcbf4e27dca4 100644 (file)
@@ -316,6 +316,7 @@ wr_hd (struct coff_ofile *p)
   struct IT_hd hd;
 
   hd.spare1 = 0;
+  hd.spare2 = 0;
   if (bfd_get_file_flags (abfd) & EXEC_P)
     hd.mt = MTYPE_ABS_LM;
   else
index f9a41694be4d6495d00091b62e3cb1dd78d448ec..b47da91f1bb1b7f793fbac1b60cc070229aaa844 100644 (file)
@@ -338,7 +338,7 @@ mc_add_node_lang (mc_node *root, const mc_keyword *lang, rc_uint_type vid)
 static char *
 convert_unicode_to_ACP (const unichar *usz)
 {
-  char *s;
+  char *s = NULL;
   rc_uint_type l;
 
   if (! usz)
@@ -607,7 +607,7 @@ mc_generate_bin_item (mc_node_lang *n, rc_uint_type *res_len)
   else
     {
       rc_uint_type txt_len, l;
-      char *cvt_txt;
+      char *cvt_txt = NULL;
 
       codepage_from_unicode( &l, n->message, &cvt_txt, n->lang->lang_info.wincp);
       if (! cvt_txt)
@@ -1105,7 +1105,7 @@ main (int argc, char **argv)
 
   /* Load the input file and do code page transformations to UTF16.  */
   {
-    unichar *u;
+    unichar *u = NULL;
     rc_uint_type ul;
     char *buff;
     bfd_size_type flen;