summaryrefslogtreecommitdiff
path: root/src/xmltree.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xmltree.c')
-rw-r--r--src/xmltree.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/xmltree.c b/src/xmltree.c
index 7084f696..a675cbc9 100644
--- a/src/xmltree.c
+++ b/src/xmltree.c
@@ -13,6 +13,7 @@
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
+#include <time.h>
#include <errno.h>
#include <libxml/tree.h>
@@ -793,8 +794,9 @@ xmlSecGenerateID(const xmlChar* prefix, xmlSecSize len) {
xmlSecAssert2(xmlSecBufferGetSize(&buffer) == binLen, NULL);
/* create random bytes */
+ unsigned int seed = time(NULL);
for(i = 0; i < binLen; i++) {
- (xmlSecBufferGetData(&buffer)) [i] = (xmlSecByte) (256.0 * rand() / (RAND_MAX + 1.0));
+ (xmlSecBufferGetData(&buffer)) [i] = (xmlSecByte) (256.0 * rand_r(&seed) / (RAND_MAX + 1.0));
}
/* base64 encode random bytes */