|
|
Message-Id: <868874$8bedn9@mail2-relais-roc.national.inria.fr>
Date: Sat, 24 Jun 2017 11:54:25 +0200
From: Jens Gustedt <Jens.Gustedt@...ia.fr>
To: musl@...ts.openwall.com
Subject: [PATCH] missing volatile in __get_locale
All int that are used with atomic operations, should be volatile.
The calls to __lock & Co hid this bug because they implicitly add the
qualifier to the target. But intelligent lto could have bitten us one
day.
---
src/locale/locale_map.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/locale/locale_map.c b/src/locale/locale_map.c
index c3e59174..188fcf39 100644
--- a/src/locale/locale_map.c
+++ b/src/locale/locale_map.c
@@ -26,7 +26,7 @@ static const char envvars[][12] = {
const struct __locale_map *__get_locale(int cat, const char *val)
{
- static int lock[2];
+ static volatile int lock[2];
static void *volatile loc_head;
const struct __locale_map *p;
struct __locale_map *new = 0;
--
2.11.0
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.