[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Interrupt/Exception caught (code = 0xc0000005, addr = 0x77c478ac)
From: |
Eli Zaretskii |
Subject: |
Re: Interrupt/Exception caught (code = 0xc0000005, addr = 0x77c478ac) |
Date: |
Mon, 14 Sep 2009 23:17:03 +0300 |
> Date: Mon, 14 Sep 2009 12:56:10 -0700 (PDT)
> From: duanec <address@hidden>
> Cc:
>
>
> The latest distribution, make-3.81-20090911-mingw32-bin, has a problem
> resulting in: Interrupt/Exception caught (code = 0xc0000005, addr =
> 0x420c2a)
>
> In my (limited tests) the "triggering" condition seems to be:
> Have _no_ PATH
> Call GNU make
> Makefile calls $(shell) function.
Funny that you should report it, because a patch to fix this bug was
submitted just yesterday. Here it is:
2009-09-14 Rafi Einstein <address@hidden> (tiny patch)
* w32/subproc/sub_proc.c (process_begin): Check *ep non-NULL
inside the loop that looks up environment for PATH.
Index: w32/subproc/sub_proc.c
===================================================================
RCS file: /sources/make/make/w32/subproc/sub_proc.c,v
retrieving revision 1.19
diff -u -r1.19 sub_proc.c
--- w32/subproc/sub_proc.c 14 Mar 2009 14:42:06 -0000 1.19
+++ w32/subproc/sub_proc.c 14 Sep 2009 18:17:21 -0000
@@ -441,13 +441,14 @@
/* Use the Makefile's value of PATH to look for the program to
execute, because it could be different from Make's PATH
(e.g., if the target sets its own value. */
- for (ep = envp; ep; ep++) {
- if (strncmp (*ep, "PATH=", 5) == 0
- || strncmp (*ep, "Path=", 5) == 0) {
- path_var = *ep + 5;
- break;
+ if (envp)
+ for (ep = envp; *ep; ep++) {
+ if (strncmp (*ep, "PATH=", 5) == 0
+ || strncmp (*ep, "Path=", 5) == 0) {
+ path_var = *ep + 5;
+ break;
+ }
}
- }
exec_handle = find_file(exec_path, path_var,
exec_fname, sizeof(exec_fname));