This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] [og9] Fix uninitialised read in gomp_map_vars_internal
- From: Julian Brown <julian at codesourcery dot com>
- To: <gcc-patches at gcc dot gnu dot org>
- Cc: Andrew Stubbs <ams at codesourcery dot com>, Thomas Schwinge <thomas_schwinge at mentor dot com>
- Date: Tue, 17 Sep 2019 10:21:54 -0700
- Subject: [PATCH] [og9] Fix uninitialised read in gomp_map_vars_internal
- Ironport-sdr: 9HBM64Mg0h+vFPRhz9dqUa7SX6hkBPQFc1GvqBz8r6SGiTGac9IL/Txw1nbkvyV6LbDhuEqybu rGSv2kCQC9bUdRRVH+drv/ZoSaOCl1SyKavTqxQ+e+wYtuBXXDWK+nUdngAnI3Qpg73Rt5RTyH JpRvCV/LT9glLcPE38xx+hBF8Kiw1SGJfohXQ0hPIY+Od4zoCctX8xfGwhUoWzw0OpqzGmWWG5 KeYIWj9EBTz19/e4yym5ONDe0eXF10Lh3fP3xxNs1tJmdz5/i6vj9Opo09uKc6XGykoCmzZ+wx hRQ=
- Ironport-sdr: O9Sqxl/xFJXESpZe6RHpYZNWa44w8v42UegYUXpFIxVj/ILAVOejdbutIK6NOiWs7caVeJwfII 1US3XWmrXKzQQnQ3Y54QqPyIW/98fz7FRTP7AUPgpgAU4bxFoP5CqNcJZF9lERjyQ7y4rCbn7A 3vrKjNaYpXTHFPv55Bge6YglFggj8qA/GJby5PjTZn25TvuJjXvuKhV1Ce1dr8mRHc3oJxWSPB v0jjASkpgkWjdfBm0dk7DnYoS04kK6rBmSX3OZf9GuRVN/dIsZ5gepX6OSef7UmJQbnBeLc7Ei fs8=
This patch fixes a stray read of uninitialised data in
target.c:gomp_map_vars_internal that I noticed when running an unrelated
test under valgrind.
I will apply to the openacc-gcc-9-branch shortly.
Julian
ChangeLog
libgomp/
* target.c (gomp_map_vars_internal): Remove read of uninitialised
data.
---
libgomp/ChangeLog.openacc | 5 +++++
libgomp/target.c | 3 +--
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/libgomp/ChangeLog.openacc b/libgomp/ChangeLog.openacc
index 1a624af1ff9..41e05e9c61b 100644
--- a/libgomp/ChangeLog.openacc
+++ b/libgomp/ChangeLog.openacc
@@ -1,3 +1,8 @@
+2019-09-17 Julian Brown <julian@codesourcery.com>
+
+ * target.c (gomp_map_vars_internal): Remove read of uninitialised
+ data.
+
2019-09-17 Julian Brown <julian@codesourcery.com>
* testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Only run
diff --git a/libgomp/target.c b/libgomp/target.c
index 5f7f946e2ba..0656df19613 100644
--- a/libgomp/target.c
+++ b/libgomp/target.c
@@ -1556,8 +1556,7 @@ gomp_map_vars_internal (struct gomp_device_descr *devicep,
kind & typemask, cbufp);
else
{
- if (k->virtual_refcount == VREFCOUNT_LINK_KEY)
- k->u.link_key = NULL;
+ k->u.link_key = NULL;
if (n && n->refcount == REFCOUNT_LINK)
{
/* Replace target address of the pointer with target address
--
2.22.0