Re: glibc qsort() vulnerability
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Mats Kindahl <mats@timescale.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Andres Freund <andres@anarazel.de>, Thomas Munro <thomas.munro@gmail.com>, Heikki Linnakangas <hlinnaka@iki.fi>, pgsql-hackers@lists.postgresql.org
Date: 2024-02-12T15:57:15Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Use new overflow-safe integer comparison functions.
- 3b42bdb47169 17.0 landed
-
Introduce overflow-safe integer comparison functions.
- 6b80394781c8 17.0 landed
-
Replace calls to pg_qsort() with the qsort() macro.
- 5497daf3aa2a 17.0 landed
-
Switch over to using our own qsort() all the time, as has been proposed
- 6edd2b4a91bd 8.2.0 cited
On Sun, Feb 11, 2024 at 03:44:42PM +0100, Mats Kindahl wrote: > On Sat, Feb 10, 2024 at 9:53 PM Nathan Bossart <nathandbossart@gmail.com> > wrote: >> and I think we should expand on some of the commentary in int.h. >> For example, the comment at the top of int.h seems very tailored to the >> existing functions and should probably be adjusted. > > > I rewrote the beginning to the following, does that look good? > > * int.h > * Routines to perform signed and unsigned integer arithmetics, including > * comparisons, in an overflow-safe way. > > > >> And the "comparison >> routines for integers" comment might benefit from some additional details >> about the purpose and guarantees of the new functions. >> > > I expanded that into the following. WDYT? > > /*------------------------------------------------------------------------ > * Comparison routines for integers. > * > * These routines are used to implement comparison functions for, e.g., > * qsort(). They are designed to be efficient and not risk overflows in > * internal computations that could cause strange results, such as INT_MIN > > * INT_MAX if you just return "lhs - rhs". > *------------------------------------------------------------------------ LGTM. I might editorialize a bit before committing, but I think your proposed wording illustrates the thrust of the change. -- Nathan Bossart Amazon Web Services: https://aws.amazon.com