Fixed possible crash in apache_getenv()/apache_setenv() on invalid

parameters.
This commit is contained in:
Ilia Alshanetsky 2006-01-02 22:19:37 +00:00
parent 6d8c69e3cb
commit a5e15f2e1c
2 changed files with 16 additions and 8 deletions

2
NEWS
View file

@ -3,6 +3,8 @@ PHP NEWS
?? Jan 2006, PHP 5.1.2RC2
- Added constants for libxslt and libexslt versions: LIBXSLT_VERSION,
LIBXSLT_DOTTED_VERSION, LIBEXSLT_VERSION and LIBEXSLT_DOTTED_VERSION. (Pierre)
- Fixed possible crash in apache_getenv()/apache_setenv() on invalid parameters.
(Ilia)
- Changed errors to warnings in imagecolormatch(). (Pierre)
- Fixed segfault/leak in imagecolormatch(). (Pierre)
- Fixed small leak in mysqli_stmt_fetch() when bound variable was empty string.

View file

@ -264,11 +264,14 @@ PHP_FUNCTION(apache_setenv)
ctx = SG(server_context);
r = ctx->r;
if (arg_count == 3 && Z_STRVAL_PP(walk_to_top)) {
if (arg_count == 3) {
convert_to_boolean_ex(walk_to_top);
if (Z_LVAL_PP(walk_to_top)) {
while(r->prev) {
r = r->prev;
}
}
}
convert_to_string_ex(variable);
convert_to_string_ex(string_val);
@ -300,11 +303,14 @@ PHP_FUNCTION(apache_getenv)
ctx = SG(server_context);
r = ctx->r;
if (arg_count == 2 && Z_STRVAL_PP(walk_to_top)) {
if (arg_count == 2) {
convert_to_boolean_ex(walk_to_top);
if (Z_LVAL_PP(walk_to_top)) {
while(r->prev) {
r = r->prev;
}
}
}
convert_to_string_ex(variable);