[Top][All Lists]

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

Re: Crash in 'find_and_set_default_shell()'

From: Eli Zaretskii
Subject: Re: Crash in 'find_and_set_default_shell()'
Date: Sun, 19 Jun 2022 08:47:47 +0300

> From: Paul Smith <psmith@gnu.org>
> 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 based on this: some didn't need sprintf() at all; the
> rest I used snprintf().
> 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 behavior of snprintf in the Windows
port, we need the MinGW build to use -D__USE_MINGW_ANSI_STDIO=1, to
force replacement of the MS version of snprintf with MinGW's own
reimplementation, which is ANSI-standard.  That's because linking Make
against MSVCRT.DLL will use a non-compliant snprintf in that DLL
(MinGW cannot link against proprietary C runtime libraries that come
with later versions of Visual Studio).

reply via email to

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