summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.patch38
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
+