-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Le 16/12/2015 14:41, Tom Sommer a écrit :
> Hi
>
> I realise 7.0.1 is already out in RC1, but there is a bug in the
> Litespeed 6.8 sapi which breaks php_flag and php_value. It's
> causing our customers a lot of headaches.
>
> I see Litespeed 6.9 is already in master, but would it be possible
> to get backported into 7.0.1?
>
> The fix is here:
> https://github.com/php/php-src/commit/5bcb7a7019a49c2f80eda7d2aa947efe
beee0034#diff-e8087496f5a642ce83e5d655c08c6b3a
>
>
(I believe)
>
> Thanks
Missing in 7.0 see diff-7.0.txt
Missing in 7.0.1 see diff-7.0.1.txt
Remi
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iEYEARECAAYFAlZyVHoACgkQYUppBSnxahhtRwCgl23H+rKJYFYTQV22pJ/olGV+
hucAoMcUYM8W/rQb/M91lfnUkWZI8tSL
=ofvT
-----END PGP SIGNATURE-----
diff --git a/sapi/litespeed/lsapi_main.c b/sapi/litespeed/lsapi_main.c
index 13bca0c..ebaa91f 100644
--- a/sapi/litespeed/lsapi_main.c
+++ b/sapi/litespeed/lsapi_main.c
@@ -418,7 +418,7 @@ static void sapi_lsapi_log_message(char *message)
static sapi_module_struct lsapi_sapi_module =
{
"litespeed",
- "LiteSpeed V6.8",
+ "LiteSpeed V6.9",
php_lsapi_startup, /* startup */
php_module_shutdown_wrapper, /* shutdown */
@@ -602,11 +602,12 @@ static int alter_ini( const char * pKey, int keyLen,
const char * pValue, int va
else
{
#if PHP_MAJOR_VERSION >= 7
- psKey = zend_string_init(pKey, keyLen, 1);
+ --keyLen;
+ psKey = zend_string_init(pKey, keyLen, 1);
zend_alter_ini_entry_chars(psKey,
(char *)pValue, valLen,
type, PHP_INI_STAGE_ACTIVATE);
- zend_string_release(psKey);
+ zend_string_release(psKey);
#else
zend_alter_ini_entry((char *)pKey, keyLen,
(char *)pValue, valLen,
@@ -770,6 +771,8 @@ static int cli_main( int argc, char * argv[] )
zend_uv.html_errors = 0; /* tell the engine we're in non-html mode */
CG(in_compilation) = 0; /* not initialized but needed for several
options */
+ SG(options) |= SAPI_OPTION_NO_CHDIR;
+
#if PHP_MAJOR_VERSION < 7
EG(uninitialized_zval_ptr) = NULL;
#endif
@@ -1247,7 +1250,7 @@ PHP_FUNCTION(apache_get_modules)
{
static const char * mod_names[] =
{
- "mod_rewrite", "mod_mime", "mod_headers", "mod_expires", NULL
+ "mod_rewrite", "mod_mime", "mod_headers", "mod_expires",
"mod_auth_basic", NULL
};
const char **name = mod_names;
/* TODO: */
diff --git a/sapi/litespeed/lsapilib.c b/sapi/litespeed/lsapilib.c
index 6abaf0d..a542771 100644
--- a/sapi/litespeed/lsapilib.c
+++ b/sapi/litespeed/lsapilib.c
@@ -1499,7 +1499,7 @@ int LSAPI_ReqBodyGetLine_r( LSAPI_Request * pReq, char *
pBuf, size_t bufLen, in
char * pBufCur = pBuf;
char * pCur;
char * p;
- if (!pReq || (pReq->m_fd ==-1) ||( !pBuf )|| !getLF )
+ if (!pReq || (pReq->m_fd ==-1) ||( !pBuf )||(bufLen < 0 )|| !getLF )
return -1;
*getLF = 0;
while( (left = pBufEnd - pBufCur ) > 0 )
@@ -1543,7 +1543,7 @@ ssize_t LSAPI_ReadReqBody_r( LSAPI_Request * pReq, char *
pBuf, size_t bufLen )
ssize_t len;
off_t total;
/* char *pOldBuf = pBuf; */
- if (!pReq || (pReq->m_fd ==-1) || ( !pBuf ))
+ if (!pReq || (pReq->m_fd ==-1) || ( !pBuf )||(bufLen < 0 ))
return -1;
total = pReq->m_reqBodyLen - pReq->m_reqBodyRead;
diff --git a/sapi/litespeed/lsapi_main.c b/sapi/litespeed/lsapi_main.c
index 0c9ea49..ebaa91f 100644
--- a/sapi/litespeed/lsapi_main.c
+++ b/sapi/litespeed/lsapi_main.c
@@ -602,11 +602,12 @@ static int alter_ini( const char * pKey, int keyLen,
const char * pValue, int va
else
{
#if PHP_MAJOR_VERSION >= 7
- psKey = zend_string_init(pKey, keyLen, 1);
+ --keyLen;
+ psKey = zend_string_init(pKey, keyLen, 1);
zend_alter_ini_entry_chars(psKey,
(char *)pValue, valLen,
type, PHP_INI_STAGE_ACTIVATE);
- zend_string_release(psKey);
+ zend_string_release(psKey);
#else
zend_alter_ini_entry((char *)pKey, keyLen,
(char *)pValue, valLen,
diff --git a/sapi/litespeed/lsapilib.c b/sapi/litespeed/lsapilib.c
index 6abaf0d..a542771 100644
--- a/sapi/litespeed/lsapilib.c
+++ b/sapi/litespeed/lsapilib.c
@@ -1499,7 +1499,7 @@ int LSAPI_ReqBodyGetLine_r( LSAPI_Request * pReq, char *
pBuf, size_t bufLen, in
char * pBufCur = pBuf;
char * pCur;
char * p;
- if (!pReq || (pReq->m_fd ==-1) ||( !pBuf )|| !getLF )
+ if (!pReq || (pReq->m_fd ==-1) ||( !pBuf )||(bufLen < 0 )|| !getLF )
return -1;
*getLF = 0;
while( (left = pBufEnd - pBufCur ) > 0 )
@@ -1543,7 +1543,7 @@ ssize_t LSAPI_ReadReqBody_r( LSAPI_Request * pReq, char *
pBuf, size_t bufLen )
ssize_t len;
off_t total;
/* char *pOldBuf = pBuf; */
- if (!pReq || (pReq->m_fd ==-1) || ( !pBuf ))
+ if (!pReq || (pReq->m_fd ==-1) || ( !pBuf )||(bufLen < 0 ))
return -1;
total = pReq->m_reqBodyLen - pReq->m_reqBodyRead;
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php