@@ -7,6 +7,7 @@ builtin_sources += plugins/wiimote.c
builtin_modules += autopair
builtin_sources += plugins/autopair.c
+builtin_ldadd += src/libshared-ell.la $(ell_ldadd)
builtin_modules += policy
builtin_sources += plugins/policy.c
@@ -17,6 +17,7 @@
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
+#include <ell/ell.h>
#include <glib.h>
@@ -130,7 +131,7 @@ static ssize_t autopair_pincb(struct btd_adapter *adapter,
return 0;
snprintf(pinstr, sizeof(pinstr), "%06u",
- rand() % 1000000);
+ l_getrandom_uint32() % 1000000);
*display = true;
memcpy(pinbuf, pinstr, 6);
return 6;
From: Tedd Ho-Jeong An <tedd.an@intel.com> This patch replaces the rand() function to the l_getrandom() from ELL, which uses the getrandom() system call. It was reported by the Coverity scan rand() should not be used for security-related applications, because linear congruential algorithms are too easy to break --- Makefile.plugins | 1 + plugins/autopair.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-)