mirror of
https://gitlab.com/apparmor/apparmor
synced 2025-09-03 07:45:50 +00:00
load_include(): avoid loading directory includes multiple times
The "already loaded?" check in load_include() was done at the beginning of the function, before entering the loop and before the individual files of directory includes were added to the filelist. This resulted in a (wrong) "Conflicting profiles" error for directory includes. This patch moves the "alreay loaded?" check inside the loop, so that it's executed for all files, including those of directory includes. Acked-by <timeout>
This commit is contained in:
@@ -4148,11 +4148,11 @@ def include_dir_filelist(profile_dir, include_name):
|
|||||||
|
|
||||||
def load_include(incname):
|
def load_include(incname):
|
||||||
load_includeslist = [incname]
|
load_includeslist = [incname]
|
||||||
if include.get(incname, {}).get(incname, False):
|
|
||||||
return 0
|
|
||||||
while load_includeslist:
|
while load_includeslist:
|
||||||
incfile = load_includeslist.pop(0)
|
incfile = load_includeslist.pop(0)
|
||||||
if os.path.isfile(profile_dir + '/' + incfile):
|
if include.get(incfile, {}).get(incfile, False):
|
||||||
|
pass # already read, do nothing
|
||||||
|
elif os.path.isfile(profile_dir + '/' + incfile):
|
||||||
data = get_include_data(incfile)
|
data = get_include_data(incfile)
|
||||||
incdata = parse_profile_data(data, incfile, True)
|
incdata = parse_profile_data(data, incfile, True)
|
||||||
#print(incdata)
|
#print(incdata)
|
||||||
|
Reference in New Issue
Block a user