diff options
Diffstat (limited to 'libgfortran/intrinsics/random.c')
-rw-r--r-- | libgfortran/intrinsics/random.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libgfortran/intrinsics/random.c b/libgfortran/intrinsics/random.c index 593a651..5e91929 100644 --- a/libgfortran/intrinsics/random.c +++ b/libgfortran/intrinsics/random.c @@ -666,7 +666,11 @@ void random_seed_i4 (GFC_INTEGER_4 *size, gfc_array_i4 *put, gfc_array_i4 *get) { int i; - unsigned char seed[4*kiss_size]; + +#define KISS_MAX_SIZE 12 + unsigned char seed[4 * KISS_MAX_SIZE]; + _Static_assert (kiss_size <= KISS_MAX_SIZE, + "kiss_size must <= KISS_MAX_SIZE"); __gthread_mutex_lock (&random_lock); |