1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00

Do not export variables with dot names (re: 8e72608c)

Variables with a dot in their name, such as those declared in
namespace { ... } blocks, are usually stored in a separate tree
with their actual names not containing any dots. But under some
circumstances, including at least direct assignment of a
non-preexisting dot variable, dot variables are stored in the main
sh.var_tree with names actually containing dots. With allexport
active, those could end up exported to the environment. This bug
was also present in previous release versions of ksh.

src/cmd/ksh93/sh/name.c: pushnam():
- Check for a dot in the name before pushing a variable to export.
This commit is contained in:
Martijn Dekker 2022-02-05 15:04:12 +00:00
parent a8dd1bbd9d
commit 493a31053e
6 changed files with 28 additions and 4 deletions

8
NEWS
View file

@ -3,6 +3,14 @@ For full details, see the git log at: https://github.com/ksh93/ksh/tree/1.0
Any uppercase BUG_* names are modernish shell bug IDs.
2022-02-05:
- Fixed: the -a/--allexport shell option incorrectly exported some variables
with names containing a dot to the environment. Note that the '-x' typeset
attribute may still be set for them, but this will now not have any
effect. Variables created in namespaces declared with the 'namespace'
keyword are only exported while their namespace is active.
2022-02-04:
- Fixed a bug in 'typeset -p': for an indexed array variable that is set