summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/fetch2/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/fetch2/__init__.py')
-rw-r--r--bitbake/lib/bb/fetch2/__init__.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
index 06f1eb4e81..cd7362c44a 100644
--- a/bitbake/lib/bb/fetch2/__init__.py
+++ b/bitbake/lib/bb/fetch2/__init__.py
@@ -1420,7 +1420,13 @@ class FetchMethod(object):
1420 1420
1421 # If 'subdir' param exists, create a dir and use it as destination for unpack cmd 1421 # If 'subdir' param exists, create a dir and use it as destination for unpack cmd
1422 if 'subdir' in urldata.parm: 1422 if 'subdir' in urldata.parm:
1423 unpackdir = '%s/%s' % (rootdir, urldata.parm.get('subdir')) 1423 subdir = urldata.parm.get('subdir')
1424 if os.path.isabs(subdir):
1425 if not os.path.realpath(subdir).startswith(os.path.realpath(rootdir)):
1426 raise UnpackError("subdir argument isn't a subdirectory of unpack root %s" % rootdir, urldata.url)
1427 unpackdir = subdir
1428 else:
1429 unpackdir = os.path.join(rootdir, subdir)
1424 bb.utils.mkdirhier(unpackdir) 1430 bb.utils.mkdirhier(unpackdir)
1425 else: 1431 else:
1426 unpackdir = rootdir 1432 unpackdir = rootdir