From d1bdea5a76903cf0d0984f58ce1d5d291807fa48 Mon Sep 17 00:00:00 2001 From: Guillaume Cottenceau Date: Fri, 14 Mar 2003 17:32:05 +0000 Subject: fix myself sux: don't unconditionnally fgets /proc/modules, because fopen may have failed (the libc, in its great search for speed, probably doesn't care to check if the FILE* given to fgets is valid and opened) --- mdk-stage1/modules.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/mdk-stage1/modules.c b/mdk-stage1/modules.c index 283d6123a..210579c62 100644 --- a/mdk-stage1/modules.c +++ b/mdk-stage1/modules.c @@ -201,14 +201,15 @@ int module_already_present(const char * name) { FILE * f; int answ = 0; - f = fopen("/proc/modules", "rb"); - while (1) { - char buf[500]; - if (!fgets(buf, sizeof(buf), f)) break; - if (!strncmp(name, buf, strlen(name)) && buf[strlen(name)] == ' ') - answ = 1; - } - fclose(f); + if ((f = fopen("/proc/modules", "rb"))) { + while (1) { + char buf[500]; + if (!fgets(buf, sizeof(buf), f)) break; + if (!strncmp(name, buf, strlen(name)) && buf[strlen(name)] == ' ') + answ = 1; + } + fclose(f); + } return answ; } -- cgit v1.2.1