diff options
-rw-r--r-- | samples/net/mbedtls_dtlsclient/src/dtls_client.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/samples/net/mbedtls_dtlsclient/src/dtls_client.c b/samples/net/mbedtls_dtlsclient/src/dtls_client.c index f6ef5ef5a..6cdfd1084 100644 --- a/samples/net/mbedtls_dtlsclient/src/dtls_client.c +++ b/samples/net/mbedtls_dtlsclient/src/dtls_client.c @@ -1,7 +1,7 @@ /* Minimal DTLS client. * (Meant to be used with config-threadnet.h) * - * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved + * Copyright (C) 2006-2017, ARM Limited, All Rights Reserved * * SPDX-License-Identifier: Apache-2.0 * @@ -132,20 +132,13 @@ static int entropy_source(void *data, unsigned char *output, size_t len, size_t *olen) { uint32_t seed; - char *ptr = data; seed = sys_rand32_get(); - - if (!seed) { - seed = 7; + if (len > sizeof(seed)) { + len = sizeof(seed); } - for (int i = 0; i < len; i++) { - seed ^= seed << 13; - seed ^= seed >> 17; - seed ^= seed << 5; - *ptr++ = (char)seed; - } + memcpy(output, &seed, len); *olen = len; return 0; |