Fix bug in fread
Bug discovered by @xTibor. Test and input data provided by him.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
122333444455555666666777777788888888999999999AAAAAAAAAABBBBBBBBBBBCCCCCCCCCCCCDDDDDDDDDDDDDEEEEEEEEEEEEEEFFFFFFFFFFFFFFF0000000000000000111111111111111112222222222222222223333333333333333333444444444444444444445555555555555555555556666666666666666666666777777777777777777777778888888888888888888888889999999999999999999999999AAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000
|
||||
Reference in New Issue
Block a user