On Wed, Dec 06, 2023 at 05:28:19PM +0800, wang yuhang via Bug reports for the 
GNU Bourne Again SHell wrote:
> When the for loop reaches env, the values of each env are: 
>  
[...]
> (gdb) p env[16] 
> $21 = 0x7ffce3c2e25a "DIRNAME_ALIAS" 
> (gdb) p env[17] 
> $22 = 0x7ffce3c2e279 "PID="

The missing '=' in DIRNAME_ALIAS appears to be noteworthy.

I could imagine a library function scanning through these strings, and
for each one, iterating from the start and looking for '='.  In the
case of DIRNAME_ALIAS, it never finds one, so it marches off past the
edge of the allocated memory chunk.

This is pure speculation, of course, until someone actually tests it.

Reply via email to