Re: Crash in 'find_and_set_default_shell()'

2022-06-19 Thread Eli Zaretskii
> From: Paul Smith > Cc: gva...@online.no, bug-make@gnu.org > Date: Sun, 19 Jun 2022 09:23:41 -0400 > > As best as I recall, the non-standard part of the old snprintf() was > that it returned -1 if the buffer wasn't large enough, rather than the > number of chars that would be needed. > > The

Re: Crash in 'find_and_set_default_shell()'

2022-06-19 Thread Paul Smith
On Sun, 2022-06-19 at 08:47 +0300, Eli Zaretskii wrote: > > I do have a memory that some versions of Visual Studio, up until > > relatively recently, have non-standard implementations of > > snprintf() > > but hopefully it's standard enough to manage this. > > If we now rely on ANSI-standard

Re: Crash in 'find_and_set_default_shell()'

2022-06-18 Thread Eli Zaretskii
> From: Paul Smith > Date: Sat, 18 Jun 2022 17:05:44 -0400 > > On Wed, 2022-05-11 at 08:00 +0200, Gisle Vanem wrote: > > The crash and wild call-stack seems to be caused > > by an overflow to 'sprintf(sh_path, ..)'. But replacing > > with 'snprintf()' works w/o any crash: > > I applied changes

Re: Crash in 'find_and_set_default_shell()'

2022-06-18 Thread Paul Smith
On Wed, 2022-05-11 at 08:00 +0200, Gisle Vanem wrote: > The crash and wild call-stack seems to be caused > by an overflow to 'sprintf(sh_path, ..)'. But replacing > with 'snprintf()' works w/o any crash: I applied changes based on this: some didn't need sprintf() at all; the rest I used

Re: Crash in 'find_and_set_default_shell()'

2022-05-11 Thread Gisle Vanem
Paul Smith wrote: ... else (b) make has to parse this string and break it up into words that it can use to call exec() without going through a shell The crash and wild call-stack seems to be caused by an overflow to 'sprintf(sh_path, ..)'. But replacing with 'snprintf()' works w/o any crash:

Re: Crash in 'find_and_set_default_shell()'

2022-05-10 Thread Eli Zaretskii
> From: Paul Smith > Date: Tue, 10 May 2022 11:05:40 -0400 > > I will say that this does work as expected and doesn't throw an error > with the latest GNU make Git version, on GNU/Linux. On MS-Windows, we can barely _emulate_ Posix, so what might, by sheer luck, work on GNU/Linux, regardless of

Re: Crash in 'find_and_set_default_shell()'

2022-05-10 Thread Paul Smith
On Tue, 2022-05-10 at 15:03 +0200, Gisle Vanem wrote: > SHELL := env "PATH=$(PATH)" /bin/bash Well, I dunno. The problem is that at some point you have to choose which command to use to invoke something. The SHELL variable is intended to contain a shell program that make will exec(). Here

Crash in 'find_and_set_default_shell()'

2022-05-10 Thread Gisle Vanem
Hello list. Some resent (?) change has caused a crash in 'find_and_set_default_shell()' with this minimal Makefile: export PATH := $(PATH):node_modules/.bin SHELL := env "PATH=$(PATH)" /bin/bash all: @echo "Hello" --- Without the 'SHELL ..' line, all is go