diff --git a/src/random.cpp b/src/random.cpp index 46d046f71b3..267e35eefef 100644 --- a/src/random.cpp +++ b/src/random.cpp @@ -187,6 +187,7 @@ void GetDevURandom(unsigned char *ent32) do { ssize_t n = read(f, ent32 + have, NUM_OS_RANDOM_BYTES - have); if (n <= 0 || n + have > NUM_OS_RANDOM_BYTES) { + close(f); RandFailure(); } have += n;