From: Junio C Hamano <email@example.com> To: Jeff King <firstname.lastname@example.org> Cc: Derrick Stolee <email@example.com>, firstname.lastname@example.org Subject: Re: [PATCH] xrealloc: do not reuse pointer freed by zero-length realloc() Date: Wed, 02 Sep 2020 12:19:38 -0700 [thread overview] Message-ID: <email@example.com> (raw) In-Reply-To: <20200902075439.GA855335@coredump.intra.peff.net> (Jeff King's message of "Wed, 2 Sep 2020 03:54:39 -0400") Jeff King <firstname.lastname@example.org> writes: > There are other variants, too: > > - we could use malloc(1) versus xmalloc(0). Maybe more > readable/obvious? But also potentially allocates an extra byte when > the platform malloc(0) would not need to. > > - we could return a non-NULL "ptr" without shrinking it at all (nor > allocating anything new). This is perfectly legal, and the > underlying realloc() would still know the original size if anybody > ever asked to grow it back again. > > I have to admit I don't overly care between them. I don't either. I admit that the latter I didn't think of---it feels tricky and harder to reason about than any other variants. > I suspect one of the > reasons we never ran into this 15-year-old bug is that it's quite hard > to convince Git to call realloc(0) in the first place. I only saw it > when investigating a bug in another series, and there the problem turned > out to be reading garbage bytes off the end of a buffer (which we > interpreted as a serialized ewah bitmap which happened to have a zero in > its length byte). Thanks.
next prev parent reply other threads:[~2020-09-02 19:19 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-09-01 11:18 Jeff King 2020-09-01 13:04 ` Derrick Stolee 2020-09-01 13:51 ` Jeff King 2020-09-01 14:24 ` Derrick Stolee 2020-09-01 15:58 ` Junio C Hamano 2020-09-02 7:54 ` Jeff King 2020-09-02 19:19 ` Junio C Hamano [this message] 2020-09-03 3:50 ` Jonathan Nieder 2020-09-01 15:20 ` Andreas Schwab 2020-09-01 15:56 ` Junio C Hamano
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: http://vger.kernel.org/majordomo-info.html * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --subject='Re: [PATCH] xrealloc: do not reuse pointer freed by zero-length realloc()' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Code repositories for project(s) associated with this inbox: https://80x24.org/mirrors/git.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).