From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: Strange code in emacs.c Date: Wed, 3 Oct 2018 10:36:35 -0700 Organization: UCLA Computer Science Department Message-ID: <28cf3cf7-8be2-9f6b-711d-bfbd2b625936@cs.ucla.edu> References: <83h8i32ha8.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1538588131 15849 195.159.176.226 (3 Oct 2018 17:35:31 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 3 Oct 2018 17:35:31 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 Cc: emacs-devel@gnu.org To: Eli Zaretskii , Noam Postavsky Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 03 19:35:26 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g7l3W-0003zz-LF for ged-emacs-devel@m.gmane.org; Wed, 03 Oct 2018 19:35:26 +0200 Original-Received: from localhost ([::1]:51099 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g7l5d-0002LQ-Aa for ged-emacs-devel@m.gmane.org; Wed, 03 Oct 2018 13:37:37 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41281) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g7l4l-0002Ke-Ot for emacs-devel@gnu.org; Wed, 03 Oct 2018 13:36:44 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g7l4l-0005Ll-4q for emacs-devel@gnu.org; Wed, 03 Oct 2018 13:36:43 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:60030) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g7l4h-0005Gr-B1; Wed, 03 Oct 2018 13:36:39 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 624381616BF; Wed, 3 Oct 2018 10:36:36 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id tU1WOySD-EAN; Wed, 3 Oct 2018 10:36:35 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id A81901616DE; Wed, 3 Oct 2018 10:36:35 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id GZ0m5_lQrjPn; Wed, 3 Oct 2018 10:36:35 -0700 (PDT) Original-Received: from [192.168.1.9] (cpe-23-242-74-103.socal.res.rr.com [23.242.74.103]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 80F7D1616BF; Wed, 3 Oct 2018 10:36:35 -0700 (PDT) In-Reply-To: <83h8i32ha8.fsf@gnu.org> Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 131.179.128.68 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:230206 Archived-At: Eli Zaretskii wrote: > We have this in 'main': > > emacs_re_safe_alloca = max > (min (lim - extra, SIZE_MAX) * (min_ratio / ratio), > MAX_ALLOCA); > > This always yields MAX_ALLOCA because 'ratio' is always greater than > 'min_ratio': > > int min_ratio = 20 * sizeof (char *); > int ratio = min_ratio + min_ratio / 3; > > Don't we mean to set emacs_re_safe_alloca like this instead: > > emacs_re_safe_alloca = min (lim - extra, SIZE_MAX) / ratio; > emacs_re_safe_alloca = max (emacs_re_safe_alloca * min_ratio, MAX_ALLOCA); Yes, that sounds better to me too. Also, that SIZE_MAX should be changed to min (SIZE_MAX, PTRDIFF_MAX) to avoid (unlikely) integer-overflow issues. Should this fix be put into master or into the emacs-26 branch?