From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6986 invoked by alias); 10 Feb 2015 11:18:19 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 34495 Received: (qmail 19616 invoked from network); 10 Feb 2015 11:18:17 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, SPF_HELO_PASS autolearn=ham version=3.3.2 X-AuditID: cbfec7f4-b7f126d000001e9a-52-54d9e863f4e4 Date: Tue, 10 Feb 2015 11:18:11 +0000 From: Peter Stephenson To: zsh workers Subject: Re: PATCH: Fix use-after-free for print -zf and print -sf Message-id: <20150210111811.1c851f7f@pwslap01u.europe.root.pri> In-reply-to: References: <1423552346-18827-1-git-send-email-mikachu@gmail.com> <20150210093729.476bab46@pwslap01u.europe.root.pri> Organization: Samsung Cambridge Solution Centre X-Mailer: Claws Mail 3.7.9 (GTK+ 2.22.0; i386-redhat-linux-gnu) MIME-version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFuplluLIzCtJLcpLzFFi42I5/e/4Nd3kFzdDDB5s0rc42PyQyYHRY9XB D0wBjFFcNimpOZllqUX6dglcGf2rXQu+Mlfc3nCbrYGxl7mLkZNDQsBE4tXMXhYIW0ziwr31 bF2MXBxCAksZJT72rGCFcJYzSUy9cI4NpIpFQFXi5WKQBCcHm4ChxNRNsxlBbBGgePP3f2CT hAWcJJZMaWYCsXkF7CX2vVrODmJzCgRL7N25hhFiaCuTxIN/08EG8QvoS1z9+4kJ4gx7iZlX zjBCNAtK/Jh8D2wos4CWxOZtTawQtrzE5jVvmScwCsxCUjYLSdksJGULGJlXMYqmliYXFCel 5xrqFSfmFpfmpesl5+duYoQE4ZcdjIuPWR1iFOBgVOLhDZhwM0SINbGsuDL3EKMEB7OSCK8q MISFeFMSK6tSi/Lji0pzUosPMTJxcEo1MFb9vXX3kvW3LQvFyo75X7h7lCGcv/DuajNDRoP7 s27Un798aped+lTPOy97+xsd1Fo9T1qcYlXp0zig/sTC+eDcrxzvf2fyMIhPSUmMet/7wNNp c1H70WaZm69Ug5q+181nTd3V6a05M+3C9B+WP5kfHJT3nXG06/p+e/PdfcLdSv6MZ6zb1iqx FGckGmoxFxUnAgDM+3esIAIAAA== On Tue, 10 Feb 2015 12:13:12 +0100 Mikael Magnusson wrote: > Oops, actually I think I do need it, since I want fout being NULL to > short circuit the whole if statement to false, and currently it's > interpreted as if ((fout && (fout != stdout)) ? .. : ..), resulting in > a call to fflush(NULL) which flushes all open output buffers. I should > probably have quoted both lines of the if. :) Yes, I missed that... that's kind of why I talked about rewriting it... pws