Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:80520 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 31692 invoked from network); 15 Jan 2015 08:04:56 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 15 Jan 2015 08:04:56 -0000 Authentication-Results: pb1.pair.com header.from=honey@internot.info; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=honey@internot.info; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain internot.info designates 185.57.82.47 as permitted sender) X-PHP-List-Original-Sender: honey@internot.info X-Host-Fingerprint: 185.57.82.47 mail.internot.info Received: from [185.57.82.47] ([185.57.82.47:44261] helo=mail.internot.info) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id A8/82-14306-8A477B45 for ; Thu, 15 Jan 2015 03:04:56 -0500 To: internals@lists.php.net Cc: Joshua Rogers Date: Thu, 15 Jan 2015 19:04:47 +1100 Message-ID: <1421309087-9479-1-git-send-email-honey@internot.info> Subject: [PATCH] Check the return value of do_fstat() to avoid error conditions. From: honey@internot.info (Joshua Rogers) From: Joshua Rogers --- main/streams/plain_wrapper.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/main/streams/plain_wrapper.c b/main/streams/plain_wrapper.c index f52383d..72be0b0 100644 --- a/main/streams/plain_wrapper.c +++ b/main/streams/plain_wrapper.c @@ -669,7 +669,8 @@ static int php_stdiop_set_option(php_stream *stream, int option, int value, void return fd == -1 ? PHP_STREAM_OPTION_RETURN_ERR : PHP_STREAM_OPTION_RETURN_OK; case PHP_STREAM_MMAP_MAP_RANGE: - do_fstat(data, 1); + if(do_fstat(data, 1)<0) + return -1; if (range->length == 0 && range->offset > 0 && range->offset < data->sb.st_size) { range->length = data->sb.st_size - range->offset; } -- 1.9.1