author | John Beck <John.Beck@Oracle.COM> |
Thu, 13 Oct 2016 08:06:14 -0700 | |
changeset 7109 | f298ea535620 |
parent 5129 | 5431772f7235 |
permissions | -rw-r--r-- |
5129
5431772f7235
PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
4305
diff
changeset
|
1 |
# This patch has been developed inhouse. This fixes a Solaris specific |
5431772f7235
PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
4305
diff
changeset
|
2 |
# issue and has not been submitted to the community. |
5431772f7235
PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
4305
diff
changeset
|
3 |
--- INIT.2012-08-01.old/src/cmd/ksh93/sh/io.c 2015-02-24 13:25:19.362427732 -0800 |
5431772f7235
PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
4305
diff
changeset
|
4 |
+++ INIT.2012-08-01/src/cmd/ksh93/sh/io.c 2015-03-05 12:11:01.233941923 -0800 |
5431772f7235
PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
4305
diff
changeset
|
5 |
@@ -871,7 +877,6 @@ int sh_iomovefd(register int fdold) |
805
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
6 |
{ |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
7 |
Shell_t *shp = sh_getinterp(); |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
8 |
register int fdnew; |
5129
5431772f7235
PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
4305
diff
changeset
|
9 |
- if(fdold >= shp->gd->lim.open_max) |
5431772f7235
PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
4305
diff
changeset
|
10 |
- sh_iovalidfd(shp,fdold); |
805
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
11 |
+ VALIDATE_FD(shp, fdold); |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
12 |
if(fdold<0 || fdold>2) |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
13 |
return(fdold); |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
14 |
fdnew = sh_iomovefd(dup(fdold)); |
5129
5431772f7235
PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
4305
diff
changeset
|
15 |
@@ -893,6 +899,8 @@ int sh_pipe(register int pv[]) |
805
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
16 |
errormsg(SH_DICT,ERROR_system(1),e_pipe); |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
17 |
pv[0] = sh_iomovefd(pv[0]); |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
18 |
pv[1] = sh_iomovefd(pv[1]); |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
19 |
+ VALIDATE_FD(shp, pv[0]); |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
20 |
+ VALIDATE_FD(shp, pv[1]); |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
21 |
shp->fdstatus[pv[0]] = IONOSEEK|IOREAD; |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
22 |
shp->fdstatus[pv[1]] = IONOSEEK|IOWRITE; |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
23 |
sh_subsavefd(pv[0]); |
5129
5431772f7235
PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
4305
diff
changeset
|
24 |
--- INIT.2012-08-01.old/src/cmd/ksh93/sh/path.c 2015-02-24 13:25:19.360898415 -0800 |
5431772f7235
PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
4305
diff
changeset
|
25 |
+++ INIT.2012-08-01/src/cmd/ksh93/sh/path.c 2015-03-05 11:17:55.650549374 -0800 |
5431772f7235
PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
4305
diff
changeset
|
26 |
@@ -534,6 +537,7 @@ static int path_opentype(Shell_t *shp,co |
805
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
27 |
if(fd>=0 && (fd = sh_iomovefd(fd)) > 0) |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
28 |
{ |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
29 |
fcntl(fd,F_SETFD,FD_CLOEXEC); |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
30 |
+ VALIDATE_FD(shp, fd); |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
31 |
shp->fdstatus[fd] |= IOCLEX; |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
32 |
} |
23c55a2f8a8e
7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff
changeset
|
33 |
return(fd); |