Nicolas Iooss <nicolas.iooss@xxxxxxx> writes: > On Sat, Jan 5, 2019 at 4:46 PM Nicolas Iooss <nicolas.iooss@xxxxxxx> wrote: >> >> sepolgen testsuite reports the following warning on a system with >> /etc/selinux/sepolgen.conf: >> >> .../src/./sepolgen/defaults.py:35: ResourceWarning: unclosed file >> <_io.TextIOWrapper name='/etc/selinux/sepolgen.conf' mode='r' >> encoding='UTF-8'> >> >> Fix this by properly closing the file in PathChooser.__init__(). >> >> Signed-off-by: Nicolas Iooss <nicolas.iooss@xxxxxxx> > > Oops, I already sent this patch a few weeks ago with three over > patches but nobody has reviewed them. Should I merge it directly? > > Nicolas Both patches merged. Thanks! > >> --- >> python/sepolgen/src/sepolgen/defaults.py | 13 +++++++------ >> 1 file changed, 7 insertions(+), 6 deletions(-) >> >> diff --git a/python/sepolgen/src/sepolgen/defaults.py b/python/sepolgen/src/sepolgen/defaults.py >> index 199acfafe4cf..533a90412475 100644 >> --- a/python/sepolgen/src/sepolgen/defaults.py >> +++ b/python/sepolgen/src/sepolgen/defaults.py >> @@ -32,12 +32,13 @@ class PathChooser(object): >> self.config_pathname = pathname >> ignore = re.compile(r"^\s*(?:#.+)?$") >> consider = re.compile(r"^\s*(\w+)\s*=\s*(.+?)\s*$") >> - for lineno, line in enumerate(open(pathname)): >> - if ignore.match(line): continue >> - mo = consider.match(line) >> - if not mo: >> - raise ValueError("%s:%d: line is not in key = value format" % (pathname, lineno+1)) >> - self.config[mo.group(1)] = mo.group(2) >> + with open(pathname, "r") as fd: >> + for lineno, line in enumerate(fd): >> + if ignore.match(line): continue >> + mo = consider.match(line) >> + if not mo: >> + raise ValueError("%s:%d: line is not in key = value format" % (pathname, lineno+1)) >> + self.config[mo.group(1)] = mo.group(2) >> >> # We're only exporting one useful function, so why not be a function >> def __call__(self, testfilename, pathset="SELINUX_DEVEL_PATH"): >> -- >> 2.20.1 >>