X-Recipient: archive-cygwin AT delorie DOT com X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7836E385840D Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=develop-help.com Authentication-Results: sourceware.org; spf=none smtp.mailfrom=develop-help.com Date: Sun, 21 Nov 2021 11:16:13 +1100 From: Tony Cook To: Sam Edge Subject: Re: possible snprintf() regression in 3.3.2 Message-ID: <20211121001613.GH10332@venus.tony.develop-help.com> References: <20211117003718 DOT GF10332 AT venus DOT tony DOT develop-help DOT com> <20211117182108 DOT b38599f5e13071bf269a0d48 AT nifty DOT ne DOT jp> <20211118000649 DOT GG10332 AT venus DOT tony DOT develop-help DOT com> <20211118203538 DOT a049809d57731fe375801c15 AT nifty DOT ne DOT jp> <7545bb24-43de-cd7d-0764-55c85f1af957 AT gmx DOT com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <7545bb24-43de-cd7d-0764-55c85f1af957@gmx.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-Spam-Status: No, score=0.7 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, KAM_NUMSUBJECT, KHOP_HELO_FCRDNS, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: cygwin AT cygwin DOT com Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" On Thu, Nov 18, 2021 at 09:08:40PM +0000, Sam Edge via Cygwin wrote: > I use newlib on embedded with threading libs that have predetermined > fixed thread stack sizes. While we tend to have more RAM than in former > times we also have multiple thread stacks. Use of alloca() or variable > length automatic arrays makes me wince especially in code I might not be > able to avoid calling which is often the case with XXXprintf() in > third-party libraries' debug output. I'd usually rather take the > performance hit from using heap instead of having to make all my stacks > bigger. A simple option would be to use an small auto fixed buffer for most conversions, but use malloc() for %f formats for numbers greater in magnitude than some limit, though it would also need to be adjusted for the precision (ndigits here), since they take extra space. This would avoid using the optional-to-implement VLA feature too. Tony -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple