Commit a5dce407 authored by antirez's avatar antirez
Browse files

if /dev/urandom is not available use rand() to get a random node name

parent 35845afb
...@@ -24,12 +24,10 @@ void clusterGetRandomName(char *p) { ...@@ -24,12 +24,10 @@ void clusterGetRandomName(char *p) {
char *charset = "0123456789abcdef"; char *charset = "0123456789abcdef";
int j; int j;
if (!fp) { if (fp == NULL || fread(p,REDIS_CLUSTER_NAMELEN,1,fp) == 0) {
redisLog(REDIS_WARNING, for (j = 0; j < REDIS_CLUSTER_NAMELEN; j++)
"Unrecovarable error: can't open /dev/urandom:%s" ,strerror(errno)); p[j] = rand();
exit(1);
} }
fread(p,REDIS_CLUSTER_NAMELEN,1,fp);
for (j = 0; j < REDIS_CLUSTER_NAMELEN; j++) for (j = 0; j < REDIS_CLUSTER_NAMELEN; j++)
p[j] = charset[p[j] & 0x0F]; p[j] = charset[p[j] & 0x0F];
fclose(fp); fclose(fp);
......
...@@ -1233,7 +1233,7 @@ int zuiNext(zsetopsrc *op, zsetopval *val) { ...@@ -1233,7 +1233,7 @@ int zuiNext(zsetopsrc *op, zsetopval *val) {
if (op->type == REDIS_SET) { if (op->type == REDIS_SET) {
iterset *it = &op->iter.set; iterset *it = &op->iter.set;
if (op->encoding == REDIS_ENCODING_INTSET) { if (op->encoding == REDIS_ENCODING_INTSET) {
if (!intsetGet(it->is.is,it->is.ii,&val->ell)) if (!intsetGet(it->is.is,it->is.ii,(int64_t*)&val->ell))
return 0; return 0;
val->score = 1.0; val->score = 1.0;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment