From 8af2ff25620082c5fe275f1fd0d20b0a52dca0c0 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Sun, 19 Dec 2021 22:46:41 +0000 Subject: random_r: set `x` before calling savestate_r Prevents segfault when calling initstate_r. --- libgcompat/random_r.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libgcompat/random_r.c b/libgcompat/random_r.c index 5bc7053..daa23e7 100644 --- a/libgcompat/random_r.c +++ b/libgcompat/random_r.c @@ -103,6 +103,7 @@ int initstate_r(unsigned seed, char *restrict state, size_t size, return -1; } + buf->x = (int32_t*)state + 1; savestate_r(buf); if (size < 32) { buf->n = 0; @@ -115,7 +116,6 @@ int initstate_r(unsigned seed, char *restrict state, size_t size, } else { buf->n = 63; } - buf->x = (int32_t*)state + 1; srandom_r(seed, buf); savestate_r(buf); return 0; -- cgit v1.2.3-60-g2f50