summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/standard/string.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/standard/string.c b/ext/standard/string.c
index 30302c05c1..c8088dabc6 100644
--- a/ext/standard/string.c
+++ b/ext/standard/string.c
@@ -2990,6 +2990,11 @@ PHP_FUNCTION(nl2br)
convert_to_string_ex(str);
+ /* bail out if the string is empty */
+ if (Z_STRLEN_PP(str) == 0) {
+ RETURN_EMPTY_STRING();
+ }
+
/* Windows style line-endings */
tmp = php_str_to_str((*str)->value.str.val, (*str)->value.str.len, "\r\n", 2, "<br />\r\n", 8, &new_length);
if (new_length != (*str)->value.str.len)