Bash 5.3 ARRAY_EXPORT build fix

Marc Aurèle La France <[email protected]>
Newsgroups gmane.comp.shells.bash.bugs
Message-ID <[email protected]>
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);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.