aboutsummaryrefslogtreecommitdiff
path: root/src/random.cpp
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2017-07-17 13:10:50 +0200
committerWladimir J. van der Laan <laanwj@gmail.com>2017-07-17 13:14:09 +0200
commit8bc6d1f179a0f51f86b78b9b394b4ba5c2543e93 (patch)
treefcff12cb44d0625601be8e26b84a5ac411c2dfb6 /src/random.cpp
parent91edda8f3c81ba5a69f44485f20d74f85ec9cee1 (diff)
parenta8ae0b252a2007568e77f5aca1c7fa3ec5941b72 (diff)
downloadbitcoin-8bc6d1f179a0f51f86b78b9b394b4ba5c2543e93.tar.xz
Merge #10837: Fix resource leak on error in GetDevURandom
a8ae0b2 Fix resource leak (Dag Robole) Pull request description: Fixes a potential file handle leak when size of entropy is invalid Tree-SHA512: 692d24daaf370bba1f842925b037275126f9494f54769650bcf5829c794a0fb8561a86f42347bdf088a484e4f107bce7fa14cd7bdbfb4ecfbeb51968953da3ae
Diffstat (limited to 'src/random.cpp')
-rw-r--r--src/random.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/random.cpp b/src/random.cpp
index 1ee6158e4b..3226abb69e 100644
--- a/src/random.cpp
+++ b/src/random.cpp
@@ -186,6 +186,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;