From: Markus Lehtonen Date: Mon, 16 Feb 2015 13:24:56 +0000 (+0200) Subject: Don't crash if UID is not found in pw database X-Git-Tag: submit/devel/20190730.075437~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=58abcde49c9d3bd012b95d47c84fb18ed35ec5f3;p=services%2Fobs-service-git-buildpackage.git Don't crash if UID is not found in pw database We just don't set the HOME env variable in that case. Change-Id: Ieab00d21d61e7e001dc3c04ef1d618e9d8c455d3 Signed-off-by: Markus Lehtonen --- diff --git a/obs_service_gbp_utils/__init__.py b/obs_service_gbp_utils/__init__.py index 5e64a0e..c0cea1e 100644 --- a/obs_service_gbp_utils/__init__.py +++ b/obs_service_gbp_utils/__init__.py @@ -64,12 +64,15 @@ def _demoted_child_call(uid, gid, ret_data_q, func): if uid and uid > 0: try: os.setresuid(uid, uid, uid) - # Set environment - os.environ['HOME'] = pwd.getpwuid(uid).pw_dir except OSError as err: ret_data_q.put(GbpServiceError("Setting UID (%s) failed: %s" % (uid, err))) sys.exit(_RET_FORK_ERR) + try: + # Set environment + os.environ['HOME'] = pwd.getpwuid(uid).pw_dir + except KeyError: + pass # Call the function try: # Func must be a callable without arguments