Just an oversight when extract_array_assignment_list()'s second argument was
changed from 'int *' to 'size_t *'.

Marc.

diff -NRapruz -X /etc/diff.excludes bash-5.3/variables.c devel-5.3/variables.c
--- bash-5.3/variables.c        2025-06-25 13:48:04.000000000 -0600
+++ devel-5.3/variables.c       2026-01-02 18:19:30.714600450 -0700
@@ -453,7 +453,7 @@ initialize_shell_variables (char **env, int privmode)
          STREQN (BASHARRAY_SUFFIX, name + char_index - BASHARRAY_SUFFLEN, 
BASHARRAY_SUFFLEN) &&
          *string == '(' && string[1] == '[' && string[strlen (string) - 1] == 
')')
        {
-         size_t namelen;
+         size_t namelen, strlength;
          char *tname;          /* desired imported array variable name */

          namelen = char_index - BASHARRAY_PREFLEN - BASHARRAY_SUFFLEN;
@@ -461,8 +461,8 @@ initialize_shell_variables (char **env, int privmode)
          tname = name + BASHARRAY_PREFLEN;     /* start of variable name */
          tname[namelen] = '\0';                /* now tname == varname */

-         string_length = 1;
-         temp_string = extract_array_assignment_list (string, &string_length);
+         strlength = 1;
+         temp_string = extract_array_assignment_list (string, &strlength);
          temp_var = assign_array_from_string (tname, temp_string, 0);
          FREE (temp_string);
          if (temp_var && noassign_p (temp_var) == 0)
@@ -475,7 +475,7 @@ initialize_shell_variables (char **env, int privmode)
          STREQN (BASHASSOC_SUFFIX, name + char_index - BASHASSOC_SUFFLEN, 
BASHASSOC_SUFFLEN) &&
          *string == '(' && string[1] == '[' && string[strlen (string) - 1] == 
')')
        {
-         size_t namelen;
+         size_t namelen, strlength;
          char *tname;          /* desired imported assoc variable name */

          namelen = char_index - BASHASSOC_PREFLEN - BASHASSOC_SUFFLEN;
@@ -489,8 +489,8 @@ initialize_shell_variables (char **env, int privmode)
            temp_var = 0;
          if (temp_var)
            {
-             string_length = 1;
-             temp_string = extract_array_assignment_list (string, 
&string_length);
+             strlength = 1;
+             temp_string = extract_array_assignment_list (string, &strlength);
              temp_var = assign_array_var_from_string (temp_var, temp_string, 
0);
            }
          FREE (temp_string);

Reply via email to