diff --git a/fdroidserver/common.py b/fdroidserver/common.py index 2658d4a4..403bb74d 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -3006,7 +3006,7 @@ def set_FDroidPopen_env(build=None): if build is not None: path = build.ndk_path() paths = orig_path.split(os.pathsep) - if path not in paths: + if path and path not in paths: paths = [path] + paths env['PATH'] = os.pathsep.join(paths) for n in ['ANDROID_NDK', 'NDK', 'ANDROID_NDK_HOME']: diff --git a/tests/common.TestCase b/tests/common.TestCase index be2a04bd..a29920be 100755 --- a/tests/common.TestCase +++ b/tests/common.TestCase @@ -2364,6 +2364,14 @@ class CommonTest(unittest.TestCase): "%s_%s.exe" % (app.id, build.versionCode), ) + def test_no_zero_length_ndk_path_prefixes(self): + fdroidserver.common.config = {'ndk_paths': {}} + build = fdroidserver.metadata.Build() + + os.environ['PATH'] = '/usr/bin:/usr/sbin' + fdroidserver.common.set_FDroidPopen_env(build) + self.assertNotIn('', os.getenv('PATH').split(os.pathsep)) + if __name__ == "__main__": os.chdir(os.path.dirname(__file__))