Em qua., 29 de set. de 2021 às 15:55, Jaime Casanova <
jcasa...@systemguards.com.ec> escreveu:

> Hi,
>
> I found a crash (segmentation fault) on jsonb.
> This is the best I could do to reduce the query:
>
> """
> select
>   75 as c1
> from
>   public.pagg_tab_ml as ref_0,
>   lateral (select
>         ref_0.a as c5
>       from generate_series(1, 300) as sample_0
>       fetch first 78 rows only
>       ) as subq_0
> where case when (subq_0.c5 < 2)
>            then cast(null as jsonb)
>            else cast(null as jsonb)
>       end ? ref_0.c
> """
>
> And because it needs pagg_tab_ml it should be run a regression database.
> This affects at least 14 and 15.
>
> Attached is the backtrace.
>
Yeah, Coverity has a report about this at function:

JsonbValue *
pushJsonbValue(JsonbParseState **pstate, JsonbIteratorToken seq,
                           JsonbValue *jbval)

1. CID undefined: Dereference after null check (FORWARD_NULL)
return pushJsonbValueScalar(pstate, seq, jbval);

2. CID undefined (#1 of 1): Dereference after null check (FORWARD_NULL)16.
var_deref_model:
Passing pstate to pushJsonbValueScalar, which dereferences null *pstate

res = pushJsonbValueScalar(pstate, tok,
                                                                   tok <
WJB_BEGIN_ARRAY ||
                                                                   (tok ==
WJB_BEGIN_ARRAY &&
                                                                        v.
val.array.rawScalar) ? &v : NULL);

regards,
Ranier Vilela

Reply via email to