diff --git a/ph7.c b/ph7.c index f377f32..6460b28 100644 --- a/ph7.c +++ b/ph7.c @@ -34900,10 +34900,12 @@ static sxi32 SyOSUtilRandomSeed(void *pBuf,sxu32 nLen,void *pUnused) fd = open("/dev/urandom",O_RDONLY); if (fd >= 0 ){ if( read(fd,zBuf,nLen) > 0 ){ + close(fd); return SXRET_OK; } /* FALL THRU */ } + close(fd); pid = getpid(); SyMemcpy((const void *)&pid,zBuf,SXMIN(nLen,sizeof(pid_t))); if( &zBuf[nLen] - &zBuf[sizeof(pid_t)] >= (int)sizeof(struct timeval) ){ @@ -36690,6 +36692,9 @@ PH7_PRIVATE sxi32 PH7_TokenizeRawText(const char *zInput,sxu32 nLen,SySet *pOut) continue; } zIn++; + + if ( zIn >= zEnd ) + break; } if( (sxu32)(zEnd - zIn) < sCtag.nByte ){ zIn = zEnd;