On Mon, Jul 22, 2024 at 6:07 PM Matthew Kim <
matthewkmkim@gmail.com> wrote:
>
> On Mon, Jul 22, 2024 at 5:52 PM Alexander Lakhin <
exclusion@gmail.com> wrote:
>
>> Also there are several trap-producing cases with date types:
>> SELECT to_date('100000000', 'CC');
>
> Hi, I’ve attached a patch that fixes the to_date() overflow. Patches 1 through 3 remain unchanged.
Thanks for the contribution Mattew!
On Tue, Jul 23, 2024 at 2:14 AM jian he <
jian.universality@gmail.com> wrote:
>
> On Tue, Jul 23, 2024 at 6:56 AM Joseph Koshakow <
koshy44@gmail.com> wrote:
>>
>> The specific bug that this patch fixes is preventing the following
>> statement:
>>
>> # INSERT INTO arroverflowtest(i[-2147483648:2147483647]) VALUES ('{1}');
>>
>> So we may want to add that test back in.
>>
> I agree with you.
I've updated the patch to add this test back in.
> also v13-0003-Remove-dependence-on-integer-wrapping-for-jsonb.patch
> in setPathArray we change to can
>
> if (idx == PG_INT32_MIN || -idx > nelems)
> {
> /*
> * If asked to keep elements position consistent, it's not allowed
> * to prepend the array.
> */
> if (op_type & JB_PATH_CONSISTENT_POSITION)
> ereport(ERROR,
> (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
> errmsg("path element at position %d is out of
> range: %d",
> level + 1, idx)));
> idx = PG_INT32_MIN;
> }
Done in the attached patch.