crypto/rand/rand_unix.c:170: error: RESOURCE_LEAK
  resource of type `_IO_FILE` acquired by call to `fopen()` at line 171, column 23 is not released after line 170, column 39.
Showing all 9 steps of the trace


crypto/rand/rand_unix.c:131:1: start of procedure RAND_poll()
129.   #  endif
130.   
131. > int RAND_poll(void)
132.   {
133.   #  ifdef OPENSSL_RAND_SEED_NONE

crypto/rand/rand_unix.c:136:5: 
134.       return 0;
135.   #  else
136. >     int ok = 0;
137.       char temp[RANDOMNESS_NEEDED];
138.   #   define TEMPSIZE (int)sizeof(temp)

crypto/rand/rand_unix.c:166:9: 
164.   #   ifdef OPENSSL_RAND_SEED_DEVRANDOM
165.       {
166. >         static const char *paths[] = { DEVRANDOM, NULL };
167.           FILE *fp;
168.           int i;

crypto/rand/rand_unix.c:170:14: 
168.           int i;
169.   
170. >         for (i = 0; paths[i] != NULL; i++) {
171.               if ((fp = fopen(paths[i], "rb")) == NULL)
172.                   continue;

crypto/rand/rand_unix.c:170:21: Loop condition is true. Entering loop body
168.           int i;
169.   
170.           for (i = 0; paths[i] != NULL; i++) {
                           ^
171.               if ((fp = fopen(paths[i], "rb")) == NULL)
172.                   continue;

crypto/rand/rand_unix.c:171:17: Taking false branch
169.   
170.           for (i = 0; paths[i] != NULL; i++) {
171.               if ((fp = fopen(paths[i], "rb")) == NULL)
                       ^
172.                   continue;
173.               setbuf(fp, NULL);

crypto/rand/rand_unix.c:173:13: 
171.               if ((fp = fopen(paths[i], "rb")) == NULL)
172.                   continue;
173. >             setbuf(fp, NULL);
174.               if (fread(temp, 1, TEMPSIZE, fp) == TEMPSIZE) {
175.                   RAND_add(temp, TEMPSIZE, TEMPSIZE);

crypto/rand/rand_unix.c:174:17: Taking false branch
172.                   continue;
173.               setbuf(fp, NULL);
174.               if (fread(temp, 1, TEMPSIZE, fp) == TEMPSIZE) {
                       ^
175.                   RAND_add(temp, TEMPSIZE, TEMPSIZE);
176.                   ok++;

crypto/rand/rand_unix.c:170:39: 
168.           int i;
169.   
170. >         for (i = 0; paths[i] != NULL; i++) {
171.               if ((fp = fopen(paths[i], "rb")) == NULL)
172.                   continue;
