From 62b4e109a5da16eb7e4ebb67d0f0c42a10b45f32 Mon Sep 17 00:00:00 2001 From: 5loyd Date: Wed, 25 Nov 2015 14:51:51 +0800 Subject: [PATCH 1/2] fix dead loop ( single comment flag "/*" ) --- ph7.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ph7.c b/ph7.c index f377f32..8d2dec2 100644 --- a/ph7.c +++ b/ph7.c @@ -36690,6 +36690,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; From feb0eee569d5e5f0f2b67c792fdbe2b05a083e4c Mon Sep 17 00:00:00 2001 From: 5loyd Date: Wed, 25 Nov 2015 16:40:50 +0800 Subject: [PATCH 2/2] fix handle leak. --- ph7.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ph7.c b/ph7.c index 8d2dec2..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) ){