URL: <https://savannah.gnu.org/bugs/?67424>
Summary: Allocate the message buffer for $(info ...) on the heap instead of stack. Group: make Submitter: None Submitted: Wed 13 Aug 2025 02:42:04 PM UTC Severity: 3 - Normal Item Group: Enhancement Status: None Privacy: Public Assigned to: None Open/Closed: Open Discussion Lock: Any Component Version: 4.4.1 Operating System: POSIX-Based Fixed Release: None Triage Status: None _______________________________________________________ Follow-up Comments: ------------------------------------------------------- Date: Wed 13 Aug 2025 02:42:04 PM UTC By: Anonymous I tried to benchmark make and created a variable with a very long content (64MiB). To check how long the variable actually is I output the variable with the $(info ...) and piped it through "wc". This results in a "Segmentation Fault" on my system. The reason is, that the $(info ...) function allocates the memory for the output on the stack. Outputting a (very) long string then overflows the stack. I attach a small patch against make 4.4.1 which lets $(info ...) allocate the buffer on the heap instead of the stack, which avoids the stack overflow. _______________________________________________________ File Attachments: Name: 0001-Allocate-output-of-info-.-function-on-heap-instead-o.patch Size: 1017B <https://file.savannah.gnu.org/file/0001-Allocate-output-of-info-.-function-on-heap-instead-o.patch?file_id=57528> AGPL NOTICE These attachments are served by Savane. You can download the corresponding source code of Savane at https://savannah.gnu.org/source/savane-93e94c53b21509aa1b97bb1fa64bc1f99e22b413.tar.gz _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?67424> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/
signature.asc
Description: PGP signature