From a360086291044295151d65a0fff9aefb1c770c14 Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Tue, 5 Oct 2004 23:55:21 +0000 Subject: [PATCH] MFH: Fixed bug #30027 (Possible crash inside ftp_get()). --- NEWS | 2 ++ ext/ftp/ftp.c | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index df4a33b6a7..1ea43b35c6 100644 --- a/NEWS +++ b/NEWS @@ -11,6 +11,8 @@ PHP 4 NEWS - Fixed bug #30224 (Sybase date strings are sometimes not null terminated). (Ilia) - Fixed bug #30057 (did not detect IPV6 on FreeBSD 4.1). (Wez) +- Fixed bug #30027 (Possible crash inside ftp_get()). + (cfield at affinitysolutions dot com - Fixed bug #29805 (HTTP Authentication Issues). (Uwe Schindler) - Fixed bug #28325 (Circular references not properly serialised). (Moriyoshi) - Fixed bug #27469 (serialize() objects of incomplete class). (Dmitry) diff --git a/ext/ftp/ftp.c b/ext/ftp/ftp.c index ee17f5dce0..d6bf5a95de 100644 --- a/ext/ftp/ftp.c +++ b/ext/ftp/ftp.c @@ -727,12 +727,12 @@ ftp_get(ftpbuf_t *ftp, php_stream *outstream, const char *path, ftptype_t type, ptr = s; } #else - while ((s = memchr(ptr, '\r', (e - ptr)))) { + while (e > ptr && (s = memchr(ptr, '\r', (e - ptr)))) { php_stream_write(outstream, ptr, (s - ptr)); if (*(s + 1) == '\n') { s++; + php_stream_putc(outstream, '\n'); } - php_stream_putc(outstream, '\n'); ptr = s + 1; } #endif -- 2.50.1