diff options
author | Siddhesh Poyarekar <siddhesh@redhat.com> | 2014-05-27 13:54:19 +0530 |
---|---|---|
committer | Siddhesh Poyarekar <siddhesh@redhat.com> | 2014-05-27 13:54:19 +0530 |
commit | 2482ae433a4249495859343ae1fba408300f2c2e (patch) | |
tree | 9fdaad4e75acb1672022be1c49862ee726134bd9 /NEWS | |
parent | bab900166e8b5f0f4081c5cf1afa0cd33b123714 (diff) | |
download | glibc-2482ae433a4249495859343ae1fba408300f2c2e.zip glibc-2482ae433a4249495859343ae1fba408300f2c2e.tar.gz glibc-2482ae433a4249495859343ae1fba408300f2c2e.tar.bz2 |
Fix offset computation for append+ mode on switching from read (BZ #16724)
The offset computation in write mode uses the fact that _IO_read_end
is kept in sync with the external file offset. This however is not
true when O_APPEND is in effect since switching to write mode ought to
send the external file offset to the end of file without making the
necessary adjustment to _IO_read_end.
Hence in append mode, offset computation when writing should only
consider the effect of unflushed writes, i.e. from _IO_write_base to
_IO_write_ptr.
The wiki has a detailed document that describes the rationale for
offsets returned by ftell in various conditions:
https://sourceware.org/glibc/wiki/File%20offsets%20in%20a%20stdio%20stream%20and%20ftell
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -14,11 +14,11 @@ Version 2.20 16516, 16532, 16545, 16564, 16574, 16599, 16600, 16609, 16610, 16611, 16613, 16619, 16623, 16629, 16632, 16634, 16639, 16642, 16648, 16649, 16670, 16674, 16677, 16680, 16683, 16689, 16695, 16701, 16706, 16707, - 16712, 16713, 16714, 16731, 16739, 16740, 16743, 16754, 16758, 16759, - 16760, 16770, 16786, 16789, 16791, 16796, 16799, 16800, 16815, 16823, - 16824, 16831, 16838, 16849, 16854, 16876, 16877, 16878, 16885, 16888, - 16890, 16912, 16915, 16916, 16917, 16922, 16927, 16928, 16932, 16943, - 16958, 16966, 16967, 16965, 16977, 16978, 16984. + 16712, 16713, 16714, 16724, 16731, 16739, 16740, 16743, 16754, 16758, + 16759, 16760, 16770, 16786, 16789, 16791, 16796, 16799, 16800, 16815, + 16823, 16824, 16831, 16838, 16849, 16854, 16876, 16877, 16878, 16885, + 16888, 16890, 16912, 16915, 16916, 16917, 16922, 16927, 16928, 16932, + 16943, 16958, 16966, 16967, 16965, 16977, 16978, 16984. * The minimum Linux kernel version that this version of the GNU C Library can be used with is 2.6.32. |