diff options
Diffstat (limited to 'src/lib9')
-rw-r--r-- | src/lib9/_p9dialparse.c | 2 | ||||
-rw-r--r-- | src/lib9/lrand.c | 12 |
2 files changed, 6 insertions, 8 deletions
diff --git a/src/lib9/_p9dialparse.c b/src/lib9/_p9dialparse.c index 2cc23574..4e56f5ee 100644 --- a/src/lib9/_p9dialparse.c +++ b/src/lib9/_p9dialparse.c @@ -72,7 +72,7 @@ p9dialparse(char *addr, char **pnet, char **punix, void *phost, int *pport) if((port = strchr(host, '!')) == nil){ if(strcmp(net, "unix")==0 || strcmp(net, "net")==0){ Unix: - if(strlen(host)+1 > sizeof ((struct sockaddr_un*)&ss)->sun_path){ + if(strlen(host)+1 > sizeof ((struct sockaddr_un*)ss)->sun_path){ werrstr("unix socket name too long"); return -1; } diff --git a/src/lib9/lrand.c b/src/lib9/lrand.c index 8f536456..3d1b05fe 100644 --- a/src/lib9/lrand.c +++ b/src/lib9/lrand.c @@ -63,17 +63,15 @@ p9lrand(void) lock(&lk); - rng_tap--; - if(rng_tap < rng_vec) { - if(rng_feed == 0) { + if(rng_tap <= rng_vec) { + if(rng_feed == 0) isrand(1); - rng_tap--; - } rng_tap += LEN; } - rng_feed--; - if(rng_feed < rng_vec) + rng_tap--; + if(rng_feed <= rng_vec) rng_feed += LEN; + rng_feed--; x = (*rng_feed + *rng_tap) & MASK; *rng_feed = x; |