| BASH PATCH REPORT |
| ================= |
| |
| Bash-Release: 4.2 |
| Patch-ID: bash42-022 |
| |
| Bug-Reported-by: Gregory Margo <gmargo@pacbell.net> |
| Bug-Reference-ID: <20110727174529.GA3333@pacbell.net> |
| Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-07/msg00102.html |
| |
| Bug-Description: |
| |
| The return value from lseek is `off_t'. This can cause corrupted return |
| values when the file offset is greater than 2**31 - 1. |
| |
| Patch (apply with `patch -p0'): |
| |
| *** ../bash-4.2-patched/lib/sh/zread.c Mon Mar 2 08:54:45 2009 |
| --- lib/sh/zread.c Thu Jul 28 18:16:53 2011 |
| *************** |
| *** 161,166 **** |
| int fd; |
| { |
| ! off_t off; |
| ! int r; |
| |
| off = lused - lind; |
| --- 161,165 ---- |
| int fd; |
| { |
| ! off_t off, r; |
| |
| off = lused - lind; |
| *************** |
| *** 169,173 **** |
| r = lseek (fd, -off, SEEK_CUR); |
| |
| ! if (r >= 0) |
| lused = lind = 0; |
| } |
| --- 168,172 ---- |
| r = lseek (fd, -off, SEEK_CUR); |
| |
| ! if (r != -1) |
| lused = lind = 0; |
| } |
| *** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 |
| --- patchlevel.h Thu Feb 24 21:41:34 2011 |
| *************** |
| *** 26,30 **** |
| looks for to find the patch level (for the sccs version string). */ |
| |
| ! #define PATCHLEVEL 21 |
| |
| #endif /* _PATCHLEVEL_H_ */ |
| --- 26,30 ---- |
| looks for to find the patch level (for the sccs version string). */ |
| |
| ! #define PATCHLEVEL 22 |
| |
| #endif /* _PATCHLEVEL_H_ */ |