bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Crash on Windows when SHELL is assigned


From: Orgad Shaneh
Subject: Crash on Windows when SHELL is assigned
Date: Mon, 5 Jun 2017 23:13:26 +0300

I have 3 problems with SHELL assignment on Windows (mingw32-make):

  1. You must use a full name for SHELL, including the extension (SHELL=sh doesn't work. SHELL=sh.exe does, if sh.exe exists in PATH). PATHEXT should be used for the executable detection.
  2. It looks like if PATH contains quotes, they're treated in a strange manner. Instead of just removing (unescaping) them, make looks for <run directory>\"some directory in quotes" (observed with Process Monitor). The quotes must be removed before calling _access().
  3. If the shell is not found, make crashes. do_variable_definition() reaches lookup_variable(), which returns NULL. Then the NULL v is dereferenced (v->append = append etc.)
    I tried adding NULL validations. This prevents the crash, but then SHELL=sh becomes the target instead of declaring a variable (*** No rule to make target 'SHELL=sh'.  Stop.)
Thanks,
- Orgad


reply via email to

[Prev in Thread] Current Thread [Next in Thread]