summaryrefslogtreecommitdiff
path: root/libtac/lib/magic.c
diff options
context:
space:
mode:
Diffstat (limited to 'libtac/lib/magic.c')
-rw-r--r--libtac/lib/magic.c4
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();
}