From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.nh2.me (mail.nh2.me [116.202.188.98]) by sourceware.org (Postfix) with ESMTPS id CC54C3858C20 for ; Mon, 13 Nov 2023 23:10:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CC54C3858C20 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=nh2.me Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=nh2.me ARC-Filter: OpenARC Filter v1.0.0 sourceware.org CC54C3858C20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=116.202.188.98 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699917038; cv=none; b=OGmvYd/vvApI+QuU1Htm1uDmsPcj1X7ng2sn2vIxyckqY9yWsGKXlcF/h/daqKVGDvgXevJvMRwFNP4rana1TR3kBOHGcSlUglnYNmvVDawZi4TSr3NyU/BOGaOr5d6bKLtqpym801wuQ626d1OtHdevTHoZjJI5lUyIMGS3XcY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699917038; c=relaxed/simple; bh=1bmcUM/0IAxGSfG5n4ag5eITOEDPwmFdFTFVowLoKFQ=; h=Message-ID:DKIM-Signature:Date:MIME-Version:Subject:To:From; b=U6ixX5Q16hkptweu3jqLViflxEI8asbYbQ9LPNAsA+u709wl2TdLl8GZ9d3oKdieVywJ9Kf32VWwWjBCJ8gQEVk8s7A4OvnTDCRm0y3JkXZsmaEm+56+v/cyY6+UMUIQkxweoxUPpyhxgev0Vj6yRvVMUQ28GRNgMOi5V3DGgDU= ARC-Authentication-Results: i=1; server2.sourceware.org Message-ID: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nh2.me; s=mail; t=1699917034; bh=q01S/rgBGRox/k9YhO0RJnuJ4EUVCyNYSUZAbw+MbY8=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=X75rVY7+SoV3ZwQia0Z2hwn/Nt1xXqQTQkq5I0XrQvGm+qukIGQvBkEqIeR1Kqbg5 aiG7HtsViw5qKOtXXz3doNuhP/PlpijSNyHvek3uR+FIlUDHqxgZQawhgWT2V3ZSh/ Mz076oOzjXCSi2nzv0jvXgIMAMbwpG68DRozVq2E7plb8yVOsmlbZmtd+yRNFwwSc5 mQY/A3N2XfS1GbV6ha5gghypVDC0y0X42WvTPdJAc1izGhQpPN7hU/nj2IzmJSI5Zb 8Sdz/Dt419ZLOmgYrEwF2Sb9WHwDtl7PvFkDl77ZM+7KSzYh2qegegtjxy9CCzWdrr VLdxD2ChROYxA== Date: Tue, 14 Nov 2023 00:10:32 +0100 MIME-Version: 1.0 Subject: Re: [PATCH v2] malloc_stats(): Fix `unsigned int` overflow Content-Language: en-US To: DJ Delorie Cc: libc-alpha@sourceware.org, schwab@linux-m68k.org References: From: =?UTF-8?Q?Niklas_Hamb=C3=BCchen?= Autocrypt: addr=mail@nh2.me; keydata= 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 Cm/C5afDKRk9vLSI8zyaJfM= In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_INFOUSMEBIZ,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: > This needs a cast to (size_t) as max_mmapped_mem is INTERNAL_SIZE_T, > which may be smaller than size_t. Thanks, will fix! >> + fprintf (stderr, "max mmap regions = %10d\n", mp_.max_n_mmaps); > > This causes a negative number to be printed when max_n_mmaps increments > past 2^31, where using "u" defers bad results until 2^32. So IMHO this > one is a regression, not a fix. I'm not sure I understand: That statement holds for all `int`s, so following this logic, all `int`s should be casted to `unsigned int` first and printed with `%u`, and `%d` would be quite useless. Doesn't it make more sense to print an `int` with `%d` as normal, so that you can _see_ in `malloc_stats()` when it overflows? The non-`malloc_stats()` code that uses the `int` will likely also behave strangely if this overflow happens, so it seems weird to pretend the value is of a different type in the malloc-internals inspection function. (Besides, `max_n_mmaps` sounds like a count of mmaps, not a byte count, so it should be much less likely to overflow.) Thanks!