Re: BUG #17847: Unaligned memory access in ltree_gist

Pavel Borisov <pashkin.elfe@gmail.com>

From: Pavel Borisov <pashkin.elfe@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Alexander Korotkov <aekorotkov@gmail.com>, Alexander Lakhin <exclusion@gmail.com>, pgsql-bugs@lists.postgresql.org
Date: 2023-04-18T15:19:27Z
Lists: pgsql-bugs
Hi, Tom!

On Tue, 18 Apr 2023 at 19:06, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> Alexander Korotkov <aekorotkov@gmail.com> writes:
> > LGMT.  I'm going to push v3 unless there are more comments.
>
> I think this reads pretty awkwardly:
>
> +ERROR:  siglen value must be integer-aligned
> +DETAIL:  Valid are int-aligned values between "4" and "2024".
>
> The DETAIL message's grammar seems a bit off.  Also, this is confusing the
> range limitation with the alignment requirement.  How about just saying

> ERROR:  siglen value must be a multiple of 4
I definitely like this wording.

> and leaving out-of-range cases to be handled by the existing check?
But that means that if we try 2025 then we just get it is not multiple
of 4 (and no clue of the range). Then we try 2028 and get another
error that it's outside of range. I suppose giving clues one by one
makes this look like a step-by-step quest. But in principle it's
possible.

Regards,
Pavel Borisov



Commits

  1. Validate ltree siglen GiST option to be int-aligned

  2. Fix custom validators call in build_local_reloptions()