Fixed the return code of RAND_query_egd_bytes when connect fails.
@@ -133,6 +133,7 @@ int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes)
break;
# endif
default:
+ ret = -1;
goto err; /* failure */
}
}
@@ -230,9 +231,7 @@ int RAND_egd_bytes(const char *path, int bytes)
int num, ret = 0;
num = RAND_query_egd_bytes(path, NULL, bytes);
- if (num < 1)
- goto err;
- if (RAND_status() == 1)
+ if (num < 1 || RAND_status() == 1)
ret = num;
err:
return (ret);
