From c50e4ced39b19ae49748634356c8c37e18427129 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 20 Feb 2023 11:14:59 +1030 Subject: [PATCH] In-memory nested archives alpha-linuxecoff has compressed archives that are decompressed to a bfd-in-memory. We'd need to handle quite a lot of corner cases to support nesting of such archives, so just stop it before we run into segfaults later. * opncls.c (_bfd_new_bfd_contained_in): Prohibit nested archives in memory. --- bfd/opncls.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bfd/opncls.c b/bfd/opncls.c index eeac5825dbf..f0f4ed55ca4 100644 --- a/bfd/opncls.c +++ b/bfd/opncls.c @@ -103,6 +103,12 @@ _bfd_new_bfd_contained_in (bfd *obfd) { bfd *nbfd; + /* Nested archives in bims are unsupported. */ + if ((obfd->flags & BFD_IN_MEMORY) != 0) + { + bfd_set_error (bfd_error_malformed_archive); + return NULL; + } nbfd = _bfd_new_bfd (); if (nbfd == NULL) return NULL; -- 2.30.2