#40696: MSVCRT.DLL's _pgmptr variable is uninitialized by MinGW start-up code Open Date: 2020-08-31 23:32 Last Update: 2020-09-02 16:15 URL for this Ticket: https://osdn.net//projects/mingw/ticket/40696 RSS feed for this Ticket: https://osdn.net/ticket/ticket_rss.php?group_id=3917&tid=40696 --------------------------------------------------------------------- Last Changes/Comment on this Ticket: 2020-09-02 16:15 Updated by: keith * Resolution Update from None to Fixed Comment: The attached patch resolves the anomaly. I will include it in the next mingwrt release. --------------------------------------------------------------------- Ticket Status: Reporter: keith Owner: keith Type: Issues Status: Open [Owner assigned] Priority: 5 - Medium MileStone: (None) Component: WSL Severity: 5 - Medium Resolution: Fixed --------------------------------------------------------------------- Ticket details: According to Microsoft's GetModuleFileNameA() function documentation: The global variable _pgmptr is automatically initialized to the full path of the executable file, and can be used to retrieve the full path name of an executable file. It appears that this global variable initialization occurs, only if the run-time start-up code calls Microsoft's __getmainargs() function, but that exhibits defective globbing of wild-card patterns, and MinGW has not used it, as a default start-up hook, since the release of mingwrt-3.21, in December 2014. Consequently, references to _pgmptr, in code linked against mingwrt-3.21 (and later), are likely to dereference a NULL pointer. -- Ticket information of MinGW - Minimalist GNU for Windows project MinGW - Minimalist GNU for Windows Project is hosted on OSDN Project URL: https://osdn.net/projects/mingw/ OSDN: https://osdn.net URL for this Ticket: https://osdn.net/projects/mingw/ticket/40696 RSS feed for this Ticket: https://osdn.net/ticket/ticket_rss.php?group_id=3917&tid=40696