Fix bug in fread

Bug discovered by @xTibor. Test and input data provided by him.
This commit is contained in:
jD91mZM2
2018-09-29 15:04:58 +02:00
parent 0451fac66c
commit dd711f4dee
6 changed files with 64 additions and 8 deletions
+21
View File
@@ -0,0 +1,21 @@
#include <errno.h>
#include <stdio.h>
int main(int argc, char *argv[]) {
FILE *fp = fopen("stdio/fread.in", "rb");
char buf[33] = { 0 };
for (int i = 1; i <= 32; ++i) {
if (fread(buf, 1, i, fp) < 0) {
perror("fread");
return 0;
}
buf[i] = 0;
printf("%s\n", buf);
}
fclose(fp);
return 0;
}
+1
View File
@@ -0,0 +1 @@
122333444455555666666777777788888888999999999AAAAAAAAAABBBBBBBBBBBCCCCCCCCCCCCDDDDDDDDDDDDDEEEEEEEEEEEEEEFFFFFFFFFFFFFFF0000000000000000111111111111111112222222222222222223333333333333333333444444444444444444445555555555555555555556666666666666666666666777777777777777777777778888888888888888888888889999999999999999999999999AAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000