Post by David KornYes, I will look into making this change for the next ksh93 update.
Thank you. Is there an estimate on the release date?
In the meantime would this be sufficient to ignore
the KSH_VERSION passed in from the environment?
1 --- a/src/cmd/ksh93/sh/init.c
2 +++ b/src/cmd/ksh93/sh/init.c
3 @@ -1903,6 +1903,13 @@ static Dt_t *inittree(Shell_t *shp,const
struct shtable2 *name_vals)
4 return(treep);
5 }
6
7 +static int is_read_only(const char* cp, const char* dp)
8 +{
9 + if(strncmp(cp, "KSH_VERSION", dp-cp)==0)
10 + return(1);
11 + return(0);
12 +}
13 +
14 /*
15 * read in the process environment and set up name-value pairs
16 * skip over items that are not name-value pairs
17 @@ -1930,6 +1937,8 @@ static void env_init(Shell_t *shp)
18 dp = strchr(cp,'=');
19 if(!dp)
20 continue;
21 + if(is_read_only(cp, dp))
22 + continue;
23 *dp++ = 0;
24 if(mp = dtmatch(shp->var_base,cp))
25 {
26
Should there be something else ignored besides KSH_VERSION?
Tomas Klacko
Post by David KornOn Mon, Jan 6, 2014 at 12:55 PM, Tomas Klacko <tomas.klacko at oracle.com
No fix. KSH_VERSION is a read only variable, always defined to be
nameref for .sh.version, which itself is set at shell startup time to
the version of the ksh shell. Setting it is not allowed, nor useful,
by definition.
Olga
Would it be possible then for the ksh to check for such variables
being passed to it from the environment and to ignore them
(instead of crashing)?
Tomas Klacko
On Mon, Jan 6, 2014 at 5:45 PM, Tomas Klacko
Hi,
Setting the KSH_VERSION variable to some value before running ksh
user at host:~$ env | grep SHELL
SHELL=/bin/bash
XTERM_SHELL=/bin/bash
user at host:~$ export KSH_VERSION=abcd
user at host:~$ ksh
Segmentation Fault (core dumped)
user at host:~$
For KSH_VERSION=abcd, ksh does (at the end of the
nv_putval() function)
np->nvalue.cp="abcd"
np->nvalue.nrp->np
which contains "abcd" as pointer value.
What should be the fix here?
Tomas Klacko
_______________________________________________
ast-developers mailing list
ast-developers at lists.research.att.com
<mailto:ast-developers at lists.research.att.com>
http://lists.research.att.com/mailman/listinfo/ast-developers
_______________________________________________
ast-developers mailing list
ast-developers at lists.research.att.com
<mailto:ast-developers at lists.research.att.com>
http://lists.research.att.com/mailman/listinfo/ast-developers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.research.att.com/pipermail/ast-developers/attachments/20140109/9c8d4821/attachment.html>