From 2344b9e59f22485743f6d14fe8e212fd78e3fba8 Mon Sep 17 00:00:00 2001 From: Mykola Malkov Date: Thu, 19 Mar 2020 17:45:04 +0200 Subject: [PATCH] TT#76658 Use temp file to prepare ngcpcfg_perms file Two parallel ngcpcfg processes corrupts this file as they try to write into it simultaneously. As a solution use temporary file to prepare the content of ngcpcfg_perms file and then move it to /etc/ngcp-config/.ngcpcfg_perms. Change-Id: I74baf3ac78a80d96a1b9dfba2be063b7128b1150 --- hooks/pre-commit | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/hooks/pre-commit b/hooks/pre-commit index ca9ddc1c..e02b7875 100755 --- a/hooks/pre-commit +++ b/hooks/pre-commit @@ -99,13 +99,15 @@ generate_metadata() { ' } -echo "# Generated by ngcpcfg. Do not edit." > .ngcpcfg_perms -echo >> .ngcpcfg_perms - +ngcpcfg_perms=$(mktemp) +chown root:root "${ngcpcfg_perms}" # Make sure the file is not readable by others, since it can leak # information about contents of non-readable directories -chmod 700 .ngcpcfg_perms +chmod 700 "${ngcpcfg_perms}" -generate_metadata >> .ngcpcfg_perms +echo "# Generated by ngcpcfg. Do not edit." > "${ngcpcfg_perms}" +echo >> "${ngcpcfg_perms}" +generate_metadata >> "${ngcpcfg_perms}" +mv "${ngcpcfg_perms}" .ngcpcfg_perms git add .ngcpcfg_perms