diff options
author | pwdng <pwdng@users.noreply.github.com> | 2014-10-14 18:12:17 +0200 |
---|---|---|
committer | pwdng <pwdng@users.noreply.github.com> | 2014-10-14 18:12:17 +0200 |
commit | 50c0e0a61fd15636a12a2bdece548f78ff8dfe93 (patch) | |
tree | f03177c73a4604d94c0d482d2475f37947959a91 | |
parent | 1fc0ef67e79497c298d5b84b1f17226a49f4ec93 (diff) | |
download | pam_tacplus-50c0e0a61fd15636a12a2bdece548f78ff8dfe93.tar.gz pam_tacplus-50c0e0a61fd15636a12a2bdece548f78ff8dfe93.zip |
Close /dev/urandom to fix open file handler leak.
-rw-r--r-- | libtac/lib/magic.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libtac/lib/magic.c b/libtac/lib/magic.c index 308dc03..9785314 100644 --- a/libtac/lib/magic.c +++ b/libtac/lib/magic.c @@ -77,8 +77,10 @@ magic() if(rfd > -1) { u_int32_t ret; + int nb_read = read(rfd, &ret, sizeof(ret)); + close(rfd); - if (read(rfd, &ret, sizeof(ret)) < sizeof(ret)) { + if (nb_read < sizeof(ret)) { /* on read() error fallback to other method */ return (u_int32_t)random(); } |