author | Stefan Teleman <stefan.teleman@oracle.com> |
Tue, 17 Mar 2015 19:06:56 -0700 | |
changeset 3966 | cca72467a46d |
parent 1275 | 03b86a2f9021 |
permissions | -rw-r--r-- |
1275
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1 |
BASH PATCH REPORT |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
2 |
================= |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
3 |
|
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
4 |
Bash-Release: 4.2 |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
5 |
Patch-ID: bash42-040 |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
6 |
|
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
7 |
Bug-Reported-by: Andrey Zaitsev <[email protected]> |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
8 |
Bug-Reference-ID: <CAEZVQT5PJ1Mb_Zh8LT5qz8sv+-9Q6hGfQ5DU9ZxdJ+gV7xBUaQ@mail.gmail.com> |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
9 |
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00144.html |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
10 |
|
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
11 |
Bug-Description: |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
12 |
|
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
13 |
Output redirection applied to builtin commands missed I/O errors if |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
14 |
they happened when the file descriptor was closed, rather than on write |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
15 |
(e.g., like with an out-of-space error on a remote NFS file system). |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
16 |
|
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
17 |
Patch (apply with `patch -p0'): |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
18 |
|
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
19 |
*** ../bash-4.2-patched/redir.c 2011-01-02 16:00:31.000000000 -0500 |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
20 |
--- redir.c 2012-04-24 20:42:12.000000000 -0400 |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
21 |
*************** |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
22 |
*** 1092,1099 **** |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
23 |
#if defined (BUFFERED_INPUT) |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
24 |
check_bash_input (redirector); |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
25 |
! close_buffered_fd (redirector); |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
26 |
#else /* !BUFFERED_INPUT */ |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
27 |
! close (redirector); |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
28 |
#endif /* !BUFFERED_INPUT */ |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
29 |
} |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
30 |
break; |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
31 |
--- 1092,1101 ---- |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
32 |
#if defined (BUFFERED_INPUT) |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
33 |
check_bash_input (redirector); |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
34 |
! r = close_buffered_fd (redirector); |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
35 |
#else /* !BUFFERED_INPUT */ |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
36 |
! r = close (redirector); |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
37 |
#endif /* !BUFFERED_INPUT */ |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
38 |
+ if (r < 0 && (flags & RX_INTERNAL) && (errno == EIO || errno == ENOSPC)) |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
39 |
+ REDIRECTION_ERROR (r, errno, -1); |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
40 |
} |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
41 |
break; |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
42 |
*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
43 |
--- patchlevel.h Thu Feb 24 21:41:34 2011 |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
44 |
*************** |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
45 |
*** 26,30 **** |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
46 |
looks for to find the patch level (for the sccs version string). */ |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
47 |
|
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
48 |
! #define PATCHLEVEL 39 |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
49 |
|
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
50 |
#endif /* _PATCHLEVEL_H_ */ |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
51 |
--- 26,30 ---- |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
52 |
looks for to find the patch level (for the sccs version string). */ |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
53 |
|
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
54 |
! #define PATCHLEVEL 40 |
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
55 |
|
03b86a2f9021
16522397 bash in S12 should be 64-bit
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
56 |
#endif /* _PATCHLEVEL_H_ */ |