Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:80522 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 35143 invoked from network); 15 Jan 2015 08:15:28 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 15 Jan 2015 08:15:28 -0000 Received: from [127.0.0.1] ([127.0.0.1:9331]) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ECSTREAM id 49/33-14306-F1777B45 for ; Thu, 15 Jan 2015 03:15:27 -0500 Authentication-Results: pb1.pair.com smtp.mail=git@internot.info; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=git@internot.info; 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: git@internot.info X-Host-Fingerprint: 185.57.82.47 mail.internot.info Received: from [185.57.82.47] ([185.57.82.47:44259] helo=mail.internot.info) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 93/32-14306-A3477B45 for ; Thu, 15 Jan 2015 03:03:08 -0500 To: internals@lists.php.net Cc: Joshua Rogers Date: Thu, 15 Jan 2015 19:02:57 +1100 Message-ID: <1421308977-9413-1-git-send-email-git@internot.info> Subject: [PATCH] Check the return value of do_fstat() to avoid error conditions. From: git@internot.info (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