rand/randfile.c: fix potential resource leak in RAND_load_file.
authorAndy Polyakov <appro@openssl.org>
Sun, 1 Apr 2018 16:18:46 +0000 (18:18 +0200)
committerAndy Polyakov <appro@openssl.org>
Wed, 4 Apr 2018 18:27:59 +0000 (20:27 +0200)
Found by Coverity.

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5834)

crypto/rand/randfile.c

index 3a62b88..c652ddc 100644 (file)
@@ -94,6 +94,7 @@ int RAND_load_file(const char *file, long bytes)
     if (fstat(fileno(in), &sb) < 0) {
         RANDerr(RAND_F_RAND_LOAD_FILE, RAND_R_INTERNAL_ERROR);
         ERR_add_error_data(2, "Filename=", file);
     if (fstat(fileno(in), &sb) < 0) {
         RANDerr(RAND_F_RAND_LOAD_FILE, RAND_R_INTERNAL_ERROR);
         ERR_add_error_data(2, "Filename=", file);
+        fclose(in);
         return -1;
     }
 
         return -1;
     }