1#include <sys/types.h>
2#include <sys/stat.h>
3#include <unistd.h>
4#include <errno.h>
5#include <stdio.h>
6
7int
8main (int argc, char const **argv)
9{
10 struct stat buf;
11 int i, rv = 0; // Set breakpoint here.
12
13 // Make sure stdin/stdout/stderr exist.
14 for (i = 0; i <= 2; ++i) {
15 if (fstat(fd: i, buf: &buf) != 0)
16 return 1;
17 }
18
19 // Make sure no other file descriptors are open.
20 for (i = 3; i <= 256; ++i) {
21 if (fstat(fd: i, buf: &buf) == 0 || errno != EBADF) {
22 fprintf(stderr, format: "File descriptor %d is open.\n", i);
23 rv = 2;
24 }
25 }
26
27 return rv;
28}
29

source code of lldb/test/API/functionalities/avoids-fd-leak/main.c