This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Fix compile time warning messages about variables being used before they are initialised.


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=de13ef81f041f7f51687ef1873c74e853b97e73a

commit de13ef81f041f7f51687ef1873c74e853b97e73a
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Apr 24 17:13:22 2015 +0100

    Fix compile time warning messages about variables being used before they are initialised.
    
    	PR 18313
    bin	* ieee.c (ieee_read_cxx_class): Initialise the varargs variable.
    	* readelf.c (uncompress_section_contents): Zero initialise the
    	zstream structure.
    
    bfd	* compress.c (decompress_contents): Zero initialse the z_stream
    	structure.

Diff:
---
 bfd/ChangeLog      | 6 ++++++
 bfd/compress.c     | 9 ++++++---
 binutils/ChangeLog | 7 +++++++
 binutils/ieee.c    | 2 +-
 binutils/readelf.c | 9 ++++++---
 5 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 11a74de..87e22c2 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,11 @@
 2015-04-24  Nick Clifton  <nickc@redhat.com>
 
+	PR 18313
+	* compress.c (decompress_contents): Zero initialse the z_stream
+	structure.
+
+2015-04-24  Nick Clifton  <nickc@redhat.com>
+
 	* elf.c (_bfd_elf_is_local_label_name): Extend test for assembler
 	local labels to include local labels with a numeric suffix and
 	fake symbols.
diff --git a/bfd/compress.c b/bfd/compress.c
index d0f745f..07289e5 100644
--- a/bfd/compress.c
+++ b/bfd/compress.c
@@ -37,9 +37,12 @@ decompress_contents (bfd_byte *compressed_buffer,
 
   /* It is possible the section consists of several compressed
      buffers concatenated together, so we uncompress in a loop.  */
-  strm.zalloc = NULL;
-  strm.zfree = NULL;
-  strm.opaque = NULL;
+  /* PR 18313: The state field in the z_stream structure is supposed
+     to be invisible to the user (ie us), but some compilers will
+     still complain about it being used without initialisation.  So
+     we first zero the entire z_stream structure and then set the fields
+     that we need.  */
+  memset (& strm, 0, sizeof strm);
   strm.avail_in = compressed_size - 12;
   strm.next_in = (Bytef*) compressed_buffer + 12;
   strm.avail_out = uncompressed_size;
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index b0a5b1b..44c56b5 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,10 @@
+2015-04-24  Nick Clifton  <nickc@redhat.com>
+
+	PR 18313
+	* ieee.c (ieee_read_cxx_class): Initialise the varargs variable.
+	* readelf.c (uncompress_section_contents): Zero initialise the
+	zstream structure.
+
 2015-04-23  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR binutils/18209
diff --git a/binutils/ieee.c b/binutils/ieee.c
index e93fcaa..a0d69d1 100644
--- a/binutils/ieee.c
+++ b/binutils/ieee.c
@@ -2954,7 +2954,7 @@ ieee_read_cxx_class (struct ieee_info *info, const bfd_byte **pp,
 	      {
 		debug_type return_type;
 		const debug_type *arg_types;
-		bfd_boolean varargs;
+		bfd_boolean varargs = FALSE;
 
 		if (debug_get_type_kind (dhandle, pv->type)
 		    != DEBUG_KIND_FUNCTION)
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 1533806..dfa5c0b 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -12067,9 +12067,12 @@ uncompress_section_contents (unsigned char **buffer,
 
   /* It is possible the section consists of several compressed
      buffers concatenated together, so we uncompress in a loop.  */
-  strm.zalloc = NULL;
-  strm.zfree = NULL;
-  strm.opaque = NULL;
+  /* PR 18313: The state field in the z_stream structure is supposed
+     to be invisible to the user (ie us), but some compilers will
+     still complain about it being used without initialisation.  So
+     we first zero the entire z_stream structure and then set the fields
+     that we need.  */
+  memset (& strm, 0, sizeof strm);
   strm.avail_in = compressed_size - header_size;
   strm.next_in = (Bytef *) compressed_buffer + header_size;
   strm.avail_out = uncompressed_size;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]