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 > --- > 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 >