alpha-ecoff: check archive element size

Alan Modra amodra@gmail.com
Mon Oct 6 11:22:11 GMT 2025


If we run out of file before decompression finishes, the archive is
broken.  Don't allow the buffer to be returned with uninitialised data.

	* coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Return an
	error if the full element size can't be decompressed.

diff --git a/bfd/coff-alpha.c b/bfd/coff-alpha.c
index fcc8aef6673..9a621e93c5b 100644
--- a/bfd/coff-alpha.c
+++ b/bfd/coff-alpha.c
@@ -2204,6 +2204,8 @@ alpha_ecoff_get_elt_at_filepos (bfd *archive, file_ptr filepos,
 	  if (left == 0)
 	    break;
 	}
+      if (left != 0)
+	goto error_return;
     }
 
   /* Now the uncompressed file contents are in buf.  */

-- 
Alan Modra


More information about the Binutils mailing list