From: | Nathan Bossart <nathandbossart(at)gmail(dot)com> |
---|---|
To: | Mats Kindahl <mats(at)timescale(dot)com> |
Cc: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: glibc qsort() vulnerability |
Date: | 2024-02-08 18:38:35 |
Message-ID: | 20240208183835.GA503311@nathanxps13 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Feb 08, 2024 at 02:16:11PM +0100, Mats Kindahl wrote:
> +/*
> + * Compare two integers and return -1, 0, or 1 without risking overflow.
> + *
> + * This macro is used to avoid running into overflow issues because a simple
> + * subtraction of the two values when implementing a cmp function for qsort().
> +*/
> +#define INT_CMP(lhs,rhs) (((lhs) > (rhs)) - ((lhs) < (rhs)))
I think we should offer a few different macros, i.e., separate macros for
int8, uint8, int16, uint16, int32, etc. For int16, we can do something
faster like
(int32) (lhs) - (int32) (rhs)
but for int32, we need to do someting more like what's in the patch.
--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2024-02-08 18:44:02 | Re: glibc qsort() vulnerability |
Previous Message | John Morris | 2024-02-08 18:30:01 | Re: Where can I find the doxyfile? |