mirror of
https://github.com/php/php-src.git
synced 2024-11-24 10:24:11 +08:00
Fixed bug #50267 (get_browser(null) does not use HTTP_USER_AGENT)
This commit is contained in:
parent
a83156d5c1
commit
ebc1b9f13d
1
NEWS
1
NEWS
@ -24,6 +24,7 @@ PHP NEWS
|
||||
- Fixed memory leak in extension loading when an error occurs on Windows.
|
||||
(Pierre)
|
||||
|
||||
- Fixed bug #50267 (get_browser(null) does not use HTTP_USER_AGENT). (Jani)
|
||||
- Fixed bug #50240 (pdo_mysql.default_socket in php.ini shouldn't used
|
||||
if it is empty). (foutrelis at gmail dot com, Ilia)
|
||||
- Fixed bug #50219 (soap call Segmentation fault on a redirected url).
|
||||
|
@ -328,7 +328,7 @@ PHP_FUNCTION(get_browser)
|
||||
char *agent_name = NULL;
|
||||
int agent_name_len = 0;
|
||||
zend_bool return_array = 0;
|
||||
zval **agent, **z_agent_name;
|
||||
zval **agent, **z_agent_name, **http_user_agent;
|
||||
zval *found_browser_entry, *tmp_copy;
|
||||
char *lookup_browser_name;
|
||||
char *browscap = INI_STR("browscap");
|
||||
@ -344,11 +344,14 @@ PHP_FUNCTION(get_browser)
|
||||
|
||||
if (agent_name == NULL) {
|
||||
zend_is_auto_global("_SERVER", sizeof("_SERVER") - 1 TSRMLS_CC);
|
||||
if (!PG(http_globals)[TRACK_VARS_SERVER]
|
||||
|| zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht, "HTTP_USER_AGENT", sizeof("HTTP_USER_AGENT"), (void **) &agent_name) == FAILURE) {
|
||||
if (!PG(http_globals)[TRACK_VARS_SERVER] ||
|
||||
zend_hash_find(HASH_OF(PG(http_globals)[TRACK_VARS_SERVER]), "HTTP_USER_AGENT", sizeof("HTTP_USER_AGENT"), (void **) &http_user_agent) == FAILURE
|
||||
) {
|
||||
php_error_docref(NULL TSRMLS_CC, E_WARNING, "HTTP_USER_AGENT variable is not set, cannot determine user agent name");
|
||||
RETURN_FALSE;
|
||||
}
|
||||
agent_name = Z_STRVAL_PP(http_user_agent);
|
||||
agent_name_len = Z_STRLEN_PP(http_user_agent);
|
||||
}
|
||||
|
||||
lookup_browser_name = estrndup(agent_name, agent_name_len);
|
||||
|
Loading…
Reference in New Issue
Block a user