From 8e747f6833190d2fd189b037af6d7636abd4d7f4 Mon Sep 17 00:00:00 2001 From: Willian Gustavo Veiga Date: Fri, 5 Jun 2015 21:31:33 -0300 Subject: [PATCH] Fix bug #67805 - SplFileObject setMaxLineLength. --- ext/spl/spl_directory.c | 2 +- ext/spl/tests/bug67805.phpt | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 ext/spl/tests/bug67805.phpt diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c index 12c50c0b46..dbf34f1939 100644 --- a/ext/spl/spl_directory.c +++ b/ext/spl/spl_directory.c @@ -2031,7 +2031,7 @@ static int spl_filesystem_file_read(spl_filesystem_object *intern, int silent) / if (intern->u.file.max_line_len > 0) { buf = safe_emalloc((intern->u.file.max_line_len + 1), sizeof(char), 0); - if (php_stream_get_line(intern->u.file.stream, buf, intern->u.file.max_line_len, &line_len) == NULL) { + if (php_stream_get_line(intern->u.file.stream, buf, intern->u.file.max_line_len + 1, &line_len) == NULL) { efree(buf); buf = NULL; } else { diff --git a/ext/spl/tests/bug67805.phpt b/ext/spl/tests/bug67805.phpt new file mode 100644 index 0000000000..ba07b3da92 --- /dev/null +++ b/ext/spl/tests/bug67805.phpt @@ -0,0 +1,15 @@ +--TEST-- +Bug #67805 SplFileObject setMaxLineLength +--CREDITS-- +Willian Gustavo Veiga +--FILE-- +setMaxLineLen(3); +$line = $splFileObject->getCurrentLine(); +var_dump($line === ' +--EXPECTF-- +bool(true) +bool(true) -- 2.50.1