Adhemerval Zanella
f9123b5003
libio: Update internal fmemopen position after write (BZ #20005 )
...
Current GLIBC fmemopen fails with a simple testcase:
char buffer[500] = "x";
FILE *stream;
stream = fmemopen(buffer, 500, "r+");
fwrite("fish",sizeof(char),5,stream);
printf("pos-1:%ld\n",ftell(stream));
fflush(stream);
printf("pos-2:%ld\n",ftell(stream));
It returns:
pos-1:5
pos-2:0
Where it should return:
pos-1:5
pos-2:5
This is due the internal write function does not correctly update the internal
object position state and then the seek operation returns a wrong value. This
patch fixes it.
It fixes both BZ #20005 and BZ #19230 (marked as duplicated). A new test is
added to check for such case.
Tested on x86_64 and i686.
* libio/fmemopen.c (fmemopen_write): Update internal position after
write.
* stdio-common/Makefile (tests): Add tst-fmemopen4.c.
* stdio-common/tst-fmemopen4.c: New file..
2016-04-26 17:40:25 -03:00
..
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2014-11-26 12:54:39 +00:00
2014-11-26 12:54:39 +00:00
2016-01-04 16:05:18 +00:00
2014-11-27 16:01:04 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-03-07 17:05:06 +01:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-04-26 17:40:25 -03:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2012-05-24 23:06:20 +02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-04-26 09:55:47 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-07 04:03:21 -05:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2015-10-12 15:18:08 +02:00
2015-02-06 12:24:16 -08:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2015-02-22 01:05:02 -08:00
2016-01-04 16:05:18 +00:00
2014-11-05 15:24:08 +05:30
2014-11-05 15:24:08 +05:30
2014-11-05 15:24:08 +05:30
2016-01-04 16:05:18 +00:00
2013-11-20 17:47:41 +05:30
2016-01-04 16:05:18 +00:00
2015-07-08 12:07:21 -03:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-03-07 17:05:06 +01:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00