File nptl-setxid-error.patch of Package glibc.10668

2017-10-13  Peter Zelezny  <peter.zelezny@dektech.com.au>

	[BZ #22153]
	* nptl/allocatestack.c (__nptl_setxid_error): Preserve error code
	in coredumps.

Index: glibc-2.26/nptl/allocatestack.c
===================================================================
--- glibc-2.26.orig/nptl/allocatestack.c
+++ glibc-2.26/nptl/allocatestack.c
@@ -1088,8 +1088,13 @@ __nptl_setxid_error (struct xid_command
       if (olderror == error)
 	break;
       if (olderror != -1)
-	/* Mismatch between current and previous results.  */
-	abort ();
+	{
+	  /* Mismatch between current and previous results.  Save the
+	     error value to memory so that is not clobbered by the
+	     abort function and preserved in coredumps.  */
+	  volatile int xid_err __attribute__((unused)) = error;
+	  abort ();
+	}
     }
   while (atomic_compare_and_exchange_bool_acq (&cmdp->error, error, -1));
 }
openSUSE Build Service is sponsored by