gnucash future: Fix null-deref crash.

John Ralls jralls at code.gnucash.org
Tue Jul 21 15:36:56 EDT 2026


Updated	 via  https://github.com/Gnucash/gnucash/commit/105a6142 (commit)
	from  https://github.com/Gnucash/gnucash/commit/e25a73a6 (commit)



commit 105a61424b1bf1c5704d63277103fc5fcaf1ac8a
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Jul 21 12:28:05 2026 -0700

    Fix null-deref crash.
    
    MSYS2 strtok has acquired the habit of crashing in the first call if the string is NULL.

diff --git a/gnucash/gnucash-locale-windows.c b/gnucash/gnucash-locale-windows.c
index 6e7666ed4a..71b1242f12 100644
--- a/gnucash/gnucash-locale-windows.c
+++ b/gnucash/gnucash-locale-windows.c
@@ -46,7 +46,6 @@ static void
 rectify_iso(const char* envvar, const char* locale,
             const char* dot, const char* rest)
 {
-
   char *eefn = strstr (dot, "8859");
 
   if (!(eefn && *eefn))
@@ -76,6 +75,8 @@ rectify_environment_charset(const char* envvar)
     return;
   char* saveptr;
   char* varval = getenv (envvar);
+  if (!varval || !*varval)
+    return;
   char* locale = strtok_r (varval, ".", &saveptr);
   char* dot = strtok_r (NULL, "@", &saveptr);
 



Summary of changes:
 gnucash/gnucash-locale-windows.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)



More information about the gnucash-changes mailing list