diff options
Diffstat (limited to '9999/0013-Fix-segfault-in-getpwuid-when-stat-fails-BZ-28752.patch')
-rw-r--r-- | 9999/0013-Fix-segfault-in-getpwuid-when-stat-fails-BZ-28752.patch | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/9999/0013-Fix-segfault-in-getpwuid-when-stat-fails-BZ-28752.patch b/9999/0013-Fix-segfault-in-getpwuid-when-stat-fails-BZ-28752.patch new file mode 100644 index 0000000..32fd8a6 --- /dev/null +++ b/9999/0013-Fix-segfault-in-getpwuid-when-stat-fails-BZ-28752.patch @@ -0,0 +1,38 @@ +From ce54d71af85a735b3ddf29bde1f6ee6e0844d352 Mon Sep 17 00:00:00 2001 +From: Adhemerval Zanella <adhemerval.zanella@linaro.org> +Date: Sat, 12 Feb 2022 19:40:58 +0100 +Subject: [PATCH 13/14] Fix segfault in getpwuid when stat fails (BZ #28752) + +[azanella proposed this patch to sam when discussing the issue, + but it's not anywhere upstream yet- dilfridge] + +Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=28752 +Bug: https://bugs.gentoo.org/828070 +(cherry picked from commit 1bcdcd4fec9bfe2f1d3fef67a43825903f6a5f2b) +--- + nss/nss_database.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/nss/nss_database.c b/nss/nss_database.c +index d56c5b798d..133682b858 100644 +--- a/nss/nss_database.c ++++ b/nss/nss_database.c +@@ -424,10 +424,11 @@ nss_database_check_reload_and_get (struct nss_database_state *local, + errors here are very unlikely, but the chance that we're entering + a container is also very unlikely, so we err on the side of both + very unlikely things not happening at the same time. */ +- if (__stat64_time64 ("/", &str) != 0 +- || (local->root_ino != 0 +- && (str.st_ino != local->root_ino +- || str.st_dev != local->root_dev))) ++ if (__stat64_time64 ("/", &str) != 0) ++ return false; ++ ++ if (local->root_ino != 0 && (str.st_ino != local->root_ino ++ || str.st_dev != local->root_dev)) + { + /* Change detected; disable reloading and return current state. */ + atomic_store_release (&local->data.reload_disabled, 1); +-- +2.35.1 + |