From a78f2183ed18ef288e7afd1caff93e46c4eef486 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B6r=C3=B6k=20Edvin?= Date: Fri, 13 Aug 2010 13:57:53 +0300 Subject: [PATCH] Prevent fclose(NULL) on SELinux (bb #2200). --- ChangeLog | 4 ++++ libclamav/bytecode_detect.c | 8 +++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index b91f9a774..bf345c555 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Fri Aug 13 13:57:04 EEST 2010 (edwin) +-------------------------------------- + * libclamav/bytecode_detect.c: prevent fclose(NULL) on SELinux (bb #2200) + Thu Aug 12 18:49:37 CEST 2010 (tk) ---------------------------------- * V 0.96.2 diff --git a/libclamav/bytecode_detect.c b/libclamav/bytecode_detect.c index 6311314e2..9271fc75c 100644 --- a/libclamav/bytecode_detect.c +++ b/libclamav/bytecode_detect.c @@ -109,9 +109,11 @@ static int detect_SELinux(void) f = fopen("/selinux/enforce", "r"); if (!f && errno == EACCES) return 2; - if (fscanf(f, "%d", &enforce) == 1) + if (f) { + if (fscanf(f, "%d", &enforce) == 1) selinux = 2; - fclose(f); + fclose(f); + } return selinux; } while (fgets(line, sizeof(line), f)) { @@ -130,8 +132,8 @@ static int detect_SELinux(void) selinux = 2; if (enforce == -1) selinux = 0; + fclose(f); } - fclose(f); return selinux; }