[bug #67046] .EXTRA_PREREQS causes a segfault.

"Paul D. Smith" <[email protected]> Wed, 27 Aug 2025 01:35:17 -0400 (EDT)
Newsgroups gmane.comp.gnu.make.bugs
Message-ID <[email protected]>
Update of bug #67046 (group make):

                  Status:                    None => Fixed
             Assigned to:                    None => psmith
             Open/Closed:                    Open => Closed
           Fixed Release:                    None => SCM
           Triage Status:                    None => Medium Effort

    _______________________________________________________

Follow-up Comment #3:

Thanks for the patch Dmitry.

I decided to fix this using your method but at a slightly different level: the
change in the patch only addresses hash_map_arg() not hash_map() (the former
is the only one with this problem, today, but...)  It also impacts all callers
of hash_map_arg() even ones that don't need this.

Instead I moved the hash_dump() out into snap_deps() and called snap_file() on
that vector.  To avoid issues with stack allocation I just used heap
allocation.  I suspect we can have a lot of files, potentially!

I added a facility to assert if someone, in the future, adds code which tries
to modify the hash table while inside hash_map*() methods.

Cheers!


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?67046>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc (application/pgp-signature, 228 B)
-----BEGIN PGP SIGNATURE-----

iHUEABYIAB0WIQQk97aszIMMAvLLwm6qLAuaBUf3TgUCaK6ZFQAKCRCqLAuaBUf3
TtB4AP95vTaoRPDPc8OfCLHbYXX84yami/DPypmv+xWBTxO/OgEAiigrnOnhhh+p
lWswe+/k9Z3dAMw7FxWtXWt/Htt+qwk=
=D1zA
-----END PGP SIGNATURE-----