URL: <https://savannah.gnu.org/bugs/?66870>
Summary: memory corruption Group: make Submitter: None Submitted: Wed 05 Mar 2025 01:18:16 AM UTC Severity: 3 - Normal Item Group: Bug 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 05 Mar 2025 01:18:16 AM UTC By: Anonymous The following Makefile causes memory corruption in the "make" process. $ cat /tmp/Makefile .ONESHELL: SHELL = echo .SHELLFLAGS = --a=x q.txt: a How bad this is depends on how long the default shell name is. gdb backtrace: (gdb) bt #0 0x00007ffff7c9e4fc in __pthread_kill_implementation () from /gnu/store/hw6g2kjayxnqi8rwpnmpraalxi0djkxc-glibc-2.39/lib/libc.so.6 #1 0x00007ffff7c544c2 in raise () from /gnu/store/hw6g2kjayxnqi8rwpnmpraalxi0djkxc-glibc-2.39/lib/libc.so.6 #2 0x00007ffff7c3e4a3 in abort () from /gnu/store/hw6g2kjayxnqi8rwpnmpraalxi0djkxc-glibc-2.39/lib/libc.so.6 #3 0x00007ffff7c3f3c7 in __libc_message_impl.cold () from /gnu/store/hw6g2kjayxnqi8rwpnmpraalxi0djkxc-glibc-2.39/lib/libc.so.6 #4 0x00007ffff7ca7b15 in malloc_printerr () from /gnu/store/hw6g2kjayxnqi8rwpnmpraalxi0djkxc-glibc-2.39/lib/libc.so.6 #5 0x00007ffff7ca7cdc in munmap_chunk () from /gnu/store/hw6g2kjayxnqi8rwpnmpraalxi0djkxc-glibc-2.39/lib/libc.so.6 #6 0x00007ffff7cac388 in free () from /gnu/store/hw6g2kjayxnqi8rwpnmpraalxi0djkxc-glibc-2.39/lib/libc.so.6 #7 0x00000000004191d3 in construct_command_argv (line=line@entry=0x492350 "a", restp=restp@entry=0x7fffffffb368, file=<optimized out>, cmd_flags=0, batch_filename=batch_filename@entry=0x4a1a90) at src/job.c:3800 #8 0x0000000000419363 in start_job_command (child=child@entry=0x4a1a60) at src/job.c:1280 #9 0x000000000041a144 in start_waiting_job (c=c@entry=0x4a1a60) at src/job.c:1646 #10 0x000000000041ab02 in new_job (file=0x498aa0) at src/job.c:1960 #11 0x0000000000426545 in remake_file (file=0x498aa0) at src/remake.c:1313 #12 update_file_1 (depth=<optimized out>, file=<optimized out>) at src/remake.c:905 #13 update_file (file=file@entry=0x498aa0, depth=<optimized out>) at src/remake.c:367 #14 0x0000000000426e91 in update_goal_chain (goaldeps=<optimized out>) at src/remake.c:184 #15 0x000000000040a035 in main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at src/main.c:2918 valgrind output: /gnu/store/s566j0nnm5pd2ifmkbclb3bhcfm2x27v-valgrind-3.22.0/bin/valgrind /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make -f /tmp/Makefile ==24996== Memcheck, a memory error detector ==24996== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. ==24996== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info ==24996== Command: /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make -f /tmp/Makefile ==24996== ==24996== Invalid write of size 1 ==24996== at 0x484D704: stpcpy (in /gnu/store/s566j0nnm5pd2ifmkbclb3bhcfm2x27v-valgrind-3.22.0/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) ==24996== by 0x41851D: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x4191B7: construct_command_argv (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x419362: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x41A143: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x41AB01: new_job (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x426544: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x426E90: update_goal_chain (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x40A034: main (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== Address 0x4fb93cd is 0 bytes after a block of size 13 alloc'd ==24996== at 0x484176B: malloc (in /gnu/store/s566j0nnm5pd2ifmkbclb3bhcfm2x27v-valgrind-3.22.0/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) ==24996== by 0x41D8F4: xmalloc (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x418493: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x4191B7: construct_command_argv (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x419362: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x41A143: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x41AB01: new_job (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x426544: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x426E90: update_goal_chain (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x40A034: main (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== ==24996== Invalid write of size 1 ==24996== at 0x484D717: stpcpy (in /gnu/store/s566j0nnm5pd2ifmkbclb3bhcfm2x27v-valgrind-3.22.0/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) ==24996== by 0x41851D: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x4191B7: construct_command_argv (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x419362: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x41A143: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x41AB01: new_job (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x426544: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x426E90: update_goal_chain (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x40A034: main (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== Address 0x4fb940b is 5 bytes before a block of size 48 free'd ==24996== at 0x48449E4: free (in /gnu/store/s566j0nnm5pd2ifmkbclb3bhcfm2x27v-valgrind-3.22.0/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) ==24996== by 0x418824: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x4184E3: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x4191B7: construct_command_argv (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x419362: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x41A143: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x41AB01: new_job (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x426544: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x426E90: update_goal_chain (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x40A034: main (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== Block was alloc'd at ==24996== at 0x484176B: malloc (in /gnu/store/s566j0nnm5pd2ifmkbclb3bhcfm2x27v-valgrind-3.22.0/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) ==24996== by 0x41D8F4: xmalloc (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x4180A7: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x4184E3: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x4191B7: construct_command_argv (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x419362: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x41A143: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x41AB01: new_job (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x426544: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x426E90: update_goal_chain (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x40A034: main (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== ==24996== Invalid write of size 1 ==24996== at 0x484DFB3: memmove (in /gnu/store/s566j0nnm5pd2ifmkbclb3bhcfm2x27v-valgrind-3.22.0/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) ==24996== by 0x418566: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x4191B7: construct_command_argv (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x419362: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x41A143: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x41AB01: new_job (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x426544: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x426E90: update_goal_chain (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x40A034: main (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== Address 0x4fb9413 is 3 bytes inside a block of size 48 free'd ==24996== at 0x48449E4: free (in /gnu/store/s566j0nnm5pd2ifmkbclb3bhcfm2x27v-valgrind-3.22.0/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) ==24996== by 0x418824: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x4184E3: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x4191B7: construct_command_argv (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x419362: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x41A143: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x41AB01: new_job (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x426544: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x426E90: update_goal_chain (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x40A034: main (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== Block was alloc'd at ==24996== at 0x484176B: malloc (in /gnu/store/s566j0nnm5pd2ifmkbclb3bhcfm2x27v-valgrind-3.22.0/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) ==24996== by 0x41D8F4: xmalloc (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x4180A7: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x4184E3: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x4191B7: construct_command_argv (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x419362: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x41A143: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x41AB01: new_job (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x426544: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x426E90: update_goal_chain (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== by 0x40A034: main (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24996== a ==24997== Syscall param execve(argv[i]) points to unaddressable byte(s) ==24997== at 0x4AF21C7: execve (in /gnu/store/hw6g2kjayxnqi8rwpnmpraalxi0djkxc-glibc-2.39/lib/libc.so.6) ==24997== by 0x4B0BD3C: __spawni_child (in /gnu/store/hw6g2kjayxnqi8rwpnmpraalxi0djkxc-glibc-2.39/lib/libc.so.6) ==24997== by 0x4B225FF: clone (in /gnu/store/hw6g2kjayxnqi8rwpnmpraalxi0djkxc-glibc-2.39/lib/libc.so.6) ==24997== Address 0x4fb93cd is 0 bytes after a block of size 13 alloc'd ==24997== at 0x484176B: malloc (in /gnu/store/s566j0nnm5pd2ifmkbclb3bhcfm2x27v-valgrind-3.22.0/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) ==24997== by 0x41D8F4: xmalloc (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24997== by 0x418493: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24997== by 0x4191B7: construct_command_argv (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24997== by 0x419362: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24997== by 0x41A143: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24997== by 0x41AB01: new_job (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24997== by 0x426544: ??? (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24997== by 0x426E90: update_goal_chain (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24997== by 0x40A034: main (in /gnu/store/biin1q4vz75zmlfhz561lvwlzcgd5c3q-make-4.4.1/bin/make) ==24997== /gnu/store/m0xdsa8cfq6mq1kxgxmpmpg71la4f0b9-bash-minimal-5.1.16/bin/sh -c a=x a ==24996== ==24996== HEAP SUMMARY: ==24996== in use at exit: 165,605 bytes in 1,658 blocks ==24996== total heap usage: 5,164 allocs, 3,506 frees, 543,435 bytes allocated ==24996== ==24996== LEAK SUMMARY: ==24996== definitely lost: 0 bytes in 0 blocks ==24996== indirectly lost: 0 bytes in 0 blocks ==24996== possibly lost: 0 bytes in 0 blocks ==24996== still reachable: 165,605 bytes in 1,658 blocks ==24996== suppressed: 0 bytes in 0 blocks ==24996== Rerun with --leak-check=full to see details of leaked memory ==24996== ==24996== For lists of detected and suppressed errors, rerun with: -s ==24996== ERROR SUMMARY: 72 errors from 3 contexts (suppressed: 0 from 0) _______________________________________________________ File Attachments: ------------------------------------------------------- Name: make.patch Size: 1009B <https://file.savannah.gnu.org/file/make.patch?file_id=56972> AGPL NOTICE These attachments are served by Savane. You can download the corresponding source code of Savane at https://savannah.gnu.org/source/savane-513955078e56c124c506c834d031bbe09cbf4040.tar.gz _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?66870> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/
signature.asc
Description: PGP signature