aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2024-07-15 09:26:03 -0700
committerAndres Freund <andres@anarazel.de>2024-07-15 09:26:03 -0700
commit92f02c39c0facc817450a77bdff042dabe4aa6a3 (patch)
treedc5f3e7f21afa606aa2ae8e10503f513080b05e0 /src
parent236b225ed452ae54bf3bb778b926495c4f1aa388 (diff)
downloadpostgresql-92f02c39c0facc817450a77bdff042dabe4aa6a3.tar.gz
postgresql-92f02c39c0facc817450a77bdff042dabe4aa6a3.zip
Fix type confusion in guc_var_compare()
Before this change guc_var_compare() cast the input arguments to const struct config_generic *. That's not quite right however, as the input on one side is often just a char * on one side. Instead just use char *, the first field in config_generic. This fixes a -Warray-bounds warning with some versions of gcc. While the warning is only known to be triggered for <= 15, the issue the warning points out seems real, so apply the fix everywhere. Author: Nazir Bilal Yavuz <byavuz81@gmail.com> Reported-by: Erik Rijkers <er@xs4all.nl> Suggested-by: Andres Freund <andres@anarazel.de> Discussion: https://postgr.es/m/a74a1a0d-0fd2-3649-5224-4f754e8f91aa%40xs4all.nl
Diffstat (limited to 'src')
-rw-r--r--src/backend/utils/misc/guc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 497fd931999..8aaab1c10be 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -5060,10 +5060,10 @@ find_option(const char *name, bool create_placeholders, int elevel)
static int
guc_var_compare(const void *a, const void *b)
{
- const struct config_generic *confa = *(struct config_generic *const *) a;
- const struct config_generic *confb = *(struct config_generic *const *) b;
+ const char *namea = **(const char ** const *) a;
+ const char *nameb = **(const char ** const *) b;
- return guc_name_compare(confa->name, confb->name);
+ return guc_name_compare(namea, nameb);
}
/*