From ffe4af4feb3d99f716ae38f9af59b1338511c30d Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 18 Nov 2021 15:27:07 +0000 Subject: bitbake: fetch2: Fix url remap issue and add testcase Using "" as a target for .replace() is a really bad idea as it duplicates the replacement for every character in the string. Add a testcase which triggered this and correct the code to return the correct result. (Bitbake rev: 3af1ecf049d2eed56f6d319dc7df6eb4a3d4eebc) Signed-off-by: Richard Purdie --- bitbake/lib/bb/fetch2/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bitbake/lib/bb/fetch2') diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py index 6a38cb0955..ded3106173 100644 --- a/bitbake/lib/bb/fetch2/__init__.py +++ b/bitbake/lib/bb/fetch2/__init__.py @@ -473,7 +473,7 @@ def uri_replace(ud, uri_find, uri_replace, replacements, d, mirrortarball=None): basename = os.path.basename(ud.localpath) if basename: uri_basename = os.path.basename(uri_decoded[loc]) - if basename != uri_basename and result_decoded[loc].endswith(uri_basename): + if uri_basename and basename != uri_basename and result_decoded[loc].endswith(uri_basename): result_decoded[loc] = result_decoded[loc].replace(uri_basename, basename) elif not result_decoded[loc].endswith(basename): result_decoded[loc] = os.path.join(result_decoded[loc], basename) -- cgit v1.2.3-54-g00ecf