aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTomas Vondra <tomas.vondra@postgresql.org>2021-03-19 23:57:50 +0100
committerTomas Vondra <tomas.vondra@postgresql.org>2021-03-20 00:04:25 +0100
commitb822ae13ea93c18326d58d47829bbc66d36fae5c (patch)
tree087c122b3e7073fa7c2c283ac3dac8eddcec7211 /src
parentd00fbdc431192c3e429b3e91c43d364e5c7ba680 (diff)
downloadpostgresql-b822ae13ea93c18326d58d47829bbc66d36fae5c.tar.gz
postgresql-b822ae13ea93c18326d58d47829bbc66d36fae5c.zip
Use lfirst_int in cmp_list_len_contents_asc
The function added in be45be9c33 is comparing integer lists (IntList) by length and contents, but there were two bugs. Firstly, it used intVal() to extract the value, but that's for Value nodes, not for extracting int values from IntList. Secondly, it called it directly on the ListCell, without doing lfirst(). So just do lfirst_int() instead. Interestingly enough, this did not cause any crashes on the buildfarm, but valgrind rightfully complained about it. Discussion: https://postgr.es/m/bf3805a8-d7d1-ae61-fece-761b7ff41ecc@postgresfriends.org
Diffstat (limited to 'src')
-rw-r--r--src/backend/parser/parse_agg.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/parser/parse_agg.c b/src/backend/parser/parse_agg.c
index 1a745b742e0..7c3e01aa22b 100644
--- a/src/backend/parser/parse_agg.c
+++ b/src/backend/parser/parse_agg.c
@@ -1750,8 +1750,8 @@ cmp_list_len_contents_asc(const ListCell *a, const ListCell *b)
forboth(lca, la, lcb, lb)
{
- int va = intVal(lca);
- int vb = intVal(lcb);
+ int va = lfirst_int(lca);
+ int vb = lfirst_int(lcb);
if (va > vb)
return 1;
if (va < vb)