123456789101112131415161718192021 |
- /* From: Denis Vlasenko <vda.linux@googlemail.com>
- * With certain combination of .config options fclose() does not
- * remove FILE* pointer from _stdio_openlist. As a result, subsequent
- * fopen() may allocate new FILE structure exactly in place of one
- * freed by previous fclose(), which then makes _stdio_openlist
- * circularlt looped. The following program will enter infinite loop
- * trying to walk _stdio_openlist in exit():
- */
- #include <stdlib.h>
- #include <stdio.h>
- int main(int argc, char *argv[])
- {
- FILE* fp;
- fp = fopen("/dev/null", "r");
- fclose(fp);
- fp = fopen("/dev/zero", "r");
- fclose(fp);
- return 0;
- }
|