summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/standard/browscap.c2
-rw-r--r--ext/standard/tests/misc/browscap_no_default.ini2
-rw-r--r--ext/standard/tests/misc/get_browser_no_default.phpt12
3 files changed, 15 insertions, 1 deletions
diff --git a/ext/standard/browscap.c b/ext/standard/browscap.c
index 8a2272fe00..4b4ef1b331 100644
--- a/ext/standard/browscap.c
+++ b/ext/standard/browscap.c
@@ -755,7 +755,7 @@ PHP_FUNCTION(get_browser)
found_entry = zend_hash_str_find_ptr(bdata->htab,
DEFAULT_SECTION_NAME, sizeof(DEFAULT_SECTION_NAME)-1);
if (found_entry == NULL) {
- efree(lookup_browser_name);
+ zend_string_release(lookup_browser_name);
RETURN_FALSE;
}
}
diff --git a/ext/standard/tests/misc/browscap_no_default.ini b/ext/standard/tests/misc/browscap_no_default.ini
new file mode 100644
index 0000000000..81174a88d9
--- /dev/null
+++ b/ext/standard/tests/misc/browscap_no_default.ini
@@ -0,0 +1,2 @@
+[Firefox]
+Browser="Firefox"
diff --git a/ext/standard/tests/misc/get_browser_no_default.phpt b/ext/standard/tests/misc/get_browser_no_default.phpt
new file mode 100644
index 0000000000..28e346af55
--- /dev/null
+++ b/ext/standard/tests/misc/get_browser_no_default.phpt
@@ -0,0 +1,12 @@
+--TEST--
+get_browser() without a default
+--INI--
+browscap={PWD}/browscap_no_default.ini
+--FILE--
+<?php
+
+var_dump(get_browser(""));
+
+?>
+--EXPECT--
+bool(false)