author | Vladimir Marek <Vladimir.Marek@oracle.com> |
Mon, 25 Nov 2013 17:42:18 +0100 | |
branch | s11u1-sru |
changeset 2846 | 308d0c192664 |
parent 805 | 23c55a2f8a8e |
permissions | -rw-r--r-- |
805
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
1 |
diff -rupN INIT.2011-02-08.clean/src/cmd/ksh93/sh/init.c INIT.2011-02-08/src/cmd/ksh93/sh/init.c |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
2 |
--- INIT.2011-02-08.clean/src/cmd/ksh93/sh/init.c 2012-05-07 14:21:24.948093271 +0100 |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
3 |
+++ INIT.2011-02-08/src/cmd/ksh93/sh/init.c 2012-05-07 14:30:52.907885321 +0100 |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
4 |
@@ -1352,6 +1352,7 @@ Shell_t *sh_init(register int argc,regis |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
5 |
job_clear(); |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
6 |
if(argc>0) |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
7 |
{ |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
8 |
+ int dolv_index = -1; |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
9 |
/* check for restricted shell */ |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
10 |
if(type&SH_TYPE_RESTRICTED) |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
11 |
sh_onoption(SH_RESTRICTED); |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
12 |
@@ -1379,7 +1380,10 @@ Shell_t *sh_init(register int argc,regis |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
13 |
sh_done(shp,0); |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
14 |
} |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
15 |
opt_info.disc = 0; |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
16 |
- shp->st.dolv=argv+(argc-1)-shp->st.dolc; |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
17 |
+ dolv_index = (argc-1)-shp->st.dolc; |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
18 |
+ shp->st.dolv=argv+dolv_index; |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
19 |
+ shp->st.repl_index = dolv_index; |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
20 |
+ shp->st.repl_arg = argv[dolv_index]; |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
21 |
shp->st.dolv[0] = argv[0]; |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
22 |
if(shp->st.dolc < 1) |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
23 |
sh_onoption(SH_SFLAG); |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
24 |
diff -rupN INIT.2011-02-08.clean/src/cmd/ksh93/sh/main.c INIT.2011-02-08/src/cmd/ksh93/sh/main.c |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
25 |
--- INIT.2011-02-08.clean/src/cmd/ksh93/sh/main.c 2012-05-07 14:43:03.840822719 +0100 |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
26 |
+++ INIT.2011-02-08/src/cmd/ksh93/sh/main.c 2012-05-07 14:59:12.341447529 +0100 |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
27 |
@@ -296,6 +296,8 @@ int sh_main(int ac, char *av[], Shinit_f |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
28 |
* try to undo effect of solaris 2.5+ |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
29 |
* change for argv for setuid scripts |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
30 |
*/ |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
31 |
+ if (shp->st.repl_index > 0) |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
32 |
+ av[shp->st.repl_index] = shp->st.repl_arg; |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
33 |
if(((type = sh_type(cp = av[0])) & SH_TYPE_SH) && (!(name = nv_getval(L_ARGNOD)) || !((type = sh_type(cp = name)) & SH_TYPE_SH))) |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
34 |
{ |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
35 |
av[0] = (type & SH_TYPE_LOGIN) ? cp : path_basename(cp); |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
36 |
diff -rupN INIT.2011-02-08.clean/src/cmd/ksh93/include/defs.h INIT.2011-02-08/src/cmd/ksh93/include/defs.h |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
37 |
--- INIT.2011-02-08.clean/src/cmd/ksh93/include/defs.h 2012-05-08 12:33:38.805834763 +0100 |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
38 |
+++ INIT.2011-02-08/src/cmd/ksh93/include/defs.h 2012-05-08 12:36:40.987228722 +0100 |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
39 |
@@ -97,6 +97,8 @@ struct sh_scoped |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
40 |
char **otrapcom; |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
41 |
void *timetrap; |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
42 |
struct Ufunction *real_fun; /* current 'function name' function */ |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
43 |
+ int repl_index; |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
44 |
+ char *repl_arg; |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
45 |
}; |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
46 |
|
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
47 |
struct limits |