|
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.