diff --git a/kernel/include/sortix/limits.h b/kernel/include/sortix/limits.h index bffb3d6b..bc6aed9f 100644 --- a/kernel/include/sortix/limits.h +++ b/kernel/include/sortix/limits.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2016, 2017 Jonas 'Sortie' Termansen. + * Copyright (c) 2014, 2016, 2017, 2024 Jonas 'Sortie' Termansen. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -28,4 +28,8 @@ #define IOV_MAX 1024 #endif +#if __USE_SORTIX || 202405L <= __USE_POSIX +#define GETENTROPY_MAX 256 +#endif + #endif diff --git a/kernel/random.cpp b/kernel/random.cpp index 5d90644d..7a91c72f 100644 --- a/kernel/random.cpp +++ b/kernel/random.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2015, 2016 Jonas 'Sortie' Termansen. + * Copyright (c) 2014, 2015, 2016, 2024 Jonas 'Sortie' Termansen. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -24,6 +24,7 @@ #include #include +#include #include #include @@ -162,7 +163,7 @@ namespace Sortix { int sys_getentropy(void* user_buffer, size_t size) { - unsigned char buffer[256]; + unsigned char buffer[GETENTROPY_MAX]; if ( sizeof(buffer) < size ) return errno = EIO, -1; arc4random_buf(buffer, size);